GithubHelp home page GithubHelp logo

fluttercommunity / arcgis_map_sdk Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 5.0 48.75 MB

Flutter implementation of the ArcGis map framework by esri

License: MIT License

Dart 70.33% HTML 0.53% CSS 4.06% Kotlin 10.50% Ruby 0.55% Swift 10.07% Objective-C 0.18% JavaScript 0.89% Shell 2.88%

arcgis_map_sdk's Introduction

Flutter Community

Flutter Community

A central place for community made Flutter content.


The Flutter Community is an organization aimed at providing a central place for community made Flutter packages and content to live.

Our goal is to ensure packages made by the Flutter community are kept alive and maintained in one place.

Medium Articles

To go along with the packages, we have started a Medium publication as a central location for community content to be published - especially if it relates to the packages here.

https://medium.com/flutter-community

Packages

These are the packages featured on the Flutter Community.

Name Release Description Maintainer
android_alarm_manager_plus Pub Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire. Miguel Beltran
android_id Pub Flutter plugin for retrieving the Android ID. Not supported on iOS. Joachim Nohl
android_intent_plus Pub Flutter plugin for launching Android Intents. Not supported on iOS. Miguel Beltran
app_review Pub Request and Write Reviews and Open Store Listing for Android and iOS in Flutter. Rody Davis
backdrop Pub Backdrop implementation in dart. (https://material.io/design/components/backdrop.html) Harsh Bhikadia
breakpoint Pub A Flutter plugin to calculate the material design breakpoints. Rody Davis
sealed_unions Pub Sealed Unions for Dart George Medve
firestore_helpers Pub Firestore helper function to create dynamic and location based queries Thomas Burkhart
draggable_scrollbar Pub A scrollbar that can be dragged for quickly navigation through a vertical list. Additional option is showing label next to scrollthumb with information about current item. Marina Kuznetsova
after_layout Pub Execute code after the first layout of your widget has been performed, i.e. after the first frame has been displayed. Simon Lightfoot
flutter_blurhash Pub Compact representation of a placeholder for an image. Encode a blurry image under 30 caracters for instant display like used by Medium Robert Felker
contacts_service Pub A Flutter plugin to retrieve and manage contacts on Android and iOS devices. Lukas Dickie
flutter_downloader Pub A plugin for creating and managing download tasks. Supports iOS and Android. Hung Duy Ha
flutter_google_places Pub Google places autocomplete widgets for flutter. No wrapper, use https://pub.dartlang.org/packages/google_maps_webservice Kev Morelli
infinite_listview Pub ListView with items that can be scrolled infinitely in both directions. Simon Lightfoot
flutter_launcher_icons Pub A package which simplifies the task of updating your Flutter app's launcher icon. Mark O'Sullivan
flutter_sms Pub A Flutter plugin to Send SMS and MMS on iOS and Android. If iMessage is enabled it will send as iMessage on iOS. This plugin must be tested on a real device on iOS. Rody Davis
sticky_headers Pub Flutter Sticky Headers - Lets you place headers on scrollable content that will stick to the top of the container whilst the content is scrolled. Simon Lightfoot
flutter_uploader Pub A plugin for creating and managing upload tasks with optional background exection support. Sebastian Roth
wear Pub A plugin that offers Flutter support for Wear OS by Google NO MAINTAINER PROVIDED
flutter_webview_plugin Pub Plugin that allow Flutter to communicate with a native Webview. Rafal Wachol
flutter_whatsnew Pub A new Flutter package to show updates to users. Rody Davis
workmanager Pub Flutter Workmanager. This plugin allows you to schedule background work on Android and iOS. NO MAINTAINER PROVIDED
font_awesome_flutter Pub The Font Awesome Icon pack available as Flutter Icons. Provides 1500 additional icons to use in your apps. Brian Egan
get_it Pub Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App" Thomas Burkhart
get_version Pub Get the Version Name, Version Code, Platform and OS Version, and App ID on iOS and Android. Rody Davis
import_sorter Pub Automatically sort all your dart imports. Support for any dart project. Matthew Gleich
native_widgets Pub A new Flutter package for using Android and iOS natively on each platform. Rody Davis
page_turn Pub Page Turn Widget - Add a page turn effect to widgets in your app. Rody Davis
persist_theme Pub A flutter plugin for persisting the theme data. Support for Dark Mode. Rody Davis
redux Pub Redux is a predictable state container for Dart and Flutter apps John Ryan
redux_undo Pub Make your redux store undo- and redoable. Inspired by the JS redux_undo package. Michel Engelen
responsive_scaffold Pub On mobile it shows a list and pushes to details and on tablet it shows the List and the selected item. Rody Davis
rx_command Pub Reactive event handler wrapper class inspired by ReactiveUI. Thomas Burkhart
state_persistence Pub Persist state across app launches. By default this library store state as a local JSON file called data.json in the applications data directory. Simon Lightfoot

Submitting your packages

If you'd like to submit your package to the Flutter Community GitHub organization, please see the Flutter Community Transfer Guide.

Getting in contact

For any questions regarding the Flutter Community, please open an issue on the /community repository.

Note to packages owners

Flutter Community aims to bring the best community-made packages forward. Because of this, not all proposed packages will be accepted.

arcgis_map_sdk's People

Contributors

julianbissekkou avatar matthaiossait avatar passsy avatar sbergmair avatar stefanschaller avatar tarektolba1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arcgis_map_sdk's Issues

Controller Reload

It would be nice to be able to reload the controller.
This can be done via mapView.map.retryLoadAsync() (Android) and mapView.map!.retryLoad() (iOS)

Support local files for mobile

There are use cases to provide a local asset as PicterMarkerSymbol. This already has been implemented for web.

Solution description:
Use FlutterPluginRegistrar (iOS) and FlutterPluginBinding (Android) to load the asset from given path (String).
To make this working, only PNG files are supported for the local assets.

[web] Fix hot restart issues

@JulianBissekkou
The problem:

When doing a hot restart, there comes an error in the console,
WARNING: Too many active WebGL contexts. Oldest context will be lost., and
WebGL: INVALID_OPERATION: delete: object does not belong to this context.

Also, this happens when you open multiple Map instances. You can test it by navigating back and forth to a new map instance. After about 8 times the same error will occur and the map will crash.

The second use case is in my opinion more important than the hot restart use case.

MapStatus callback

To show correct states in the UI, the mapStatus can help doing this.
There are callbacks available doing this.
Android: map.addLoadStatusChangedListener
iOS:

                    DispatchQueue.main.async {
                        let status = map.loadStatus
                        self?.notifyStatus(status)
                    }
                }```

Add Option to update/upsert graphic

We can update the symbol of a graphic but not the position of it.
Use case: We show the user position on screen using a PointGraphic and we would like to update latitude and longitude of that PointGraphic

Avoid crashing when native call fails

In the current implementation, the app process is terminated when throwing an exception on Swift and Android.
The developer experience can be improved when the method call is handled with result.error instead.
That way, developers don't have to rerun the app and they can continue to use hot reload and try again.

Document platform differences

Following APIs are not consistent on all platforms:

  • BaseMapStyle
  • AnimationCurve
  • PictureMarkerSymbol (no easy support for local asset on mobile)
  • MarkerStyle

Migrate to Android embedding v2

When building my app for macos I get this error:

This app is using a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to migrate this app to the V2 embedding.
Take a look at the docs for migrating an app: https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects
The plugin `arcgis_map_sdk_android` requires your app to be migrated to the Android embedding v2. Follow the steps on the migration doc above and re-run this command.
Flutter 3.13.8 • channel [user-branch] • unknown source
Framework • revision 6c4930c4ac (6 weeks ago) • 2023-10-18 10:57:55 -0500
Engine • revision 767d8c75e8
Tools • Dart 3.1.4 • DevTools 2.25.0

[web] Finish `FeatureReductionCluster`

There are a few TODOs around FeatureReductionCluster in the code.
Let's resolve them and discuss how we should design the API around this feature because afaik this its not supported on android and iOS:

[mobile & web] Add option to change the theme

There are multiple ways to change a theme. The easiest might be to update the basemap using [toggleBaseMap].
However, if you are not using Basemaps you are forced to update the style of your VectorTileLayer.

Based on the Platform we might have to do different things:

JS:

There is an API to update the style of the current layer. This style can be a url or an object containing the style definition. This is handy when switching styles offline.
https://developers.arcgis.com/javascript/3/jsapi/vectortilelayer-amd.html#setstyle

Android:

Still looking into the possible ways..

iOS:

Still looking into the possible ways..

[mobile] Implement vector tile caching

Loaded map data is not cached on mobile.
If a user uses the Map on Screen A and opens the same map on Screen B he has to load again for the map to load all the zoom levels that were visible before.

I opened a thread in the community forum, but I would like to solve the issue in an easier way.
They suggested ExportVectorTilesJob but I just want to have a simple cache that holds the tiles that were loaded previously.
https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/caching-vector-tile-layer-data-not-possible/m-p/1213585#M5846

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.