ArcGIS Maps SDK by Ludycom S.A.S.
ArcGIS Maps SDK for Flutter is a plugin for ArcGIS Maps SDK for Kotlin and ArcGIS Maps SDK for Swift (Not available) created by Ludycom S.A.S. Currently in beta, it is planned to be used in production, the plugin will allow users to use ArcGIS maps through a customizable and optimized widget.
Supported Elements
Element | Android | iOS |
---|---|---|
BasemapStyle | :x: | :x: |
API key | :white_check_mark: | :x: |
OAuth 2.0 | :x: | :x: |
Tokens | :x: | :x: |
Network Credentials | :x: | :x: |
Load Service Feature Table | :white_check_mark: | :x: |
Load PortalItem Feature Layer | :white_check_mark: | :x: |
Load GeoPackage Feature Layer | :white_check_mark: | :x: |
Load Shapefile Feature Layer | :white_check_mark: | :x: |
Remove Feature Layer | :white_check_mark: | :x: |
Remove All Feature Layers | :white_check_mark: | :x: |
Select features in feature layer | :white_check_mark: | :x: |
Location | :white_check_mark: | :x: |
Download Portal Item | :white_check_mark: | :x: |
Check Local Portal Item Files | :white_check_mark: | :x: |
Getting Started
Requirements
The ArcGIS Maps is compatible with applications:
- Deployed on iOS 11 or higher (Not available)
- Built using the Android SDK 26 or higher
Android
buildscript {
ext.kotlin_version = '1.7.x'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
maven {
url 'https://esri.jfrog.io/artifactory/arcgis'
}
}
}
OAuth 2.0
Change parent="@android:style/Theme.Light.NoTitleBar" to parent="Theme.AppCompat"
<style name="LaunchTheme" parent="Theme.AppCompat">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
Add the OAuthUserSignMainActivity and OAuthUserSignInActivity in AndroidManifest.xml
<activity
android:name="com.ludycom.arcgis_maps.activities.OAuthUserSignMainActivity"
android:label="OAuthUserSignMainActivity"
android:theme="@style/LaunchTheme">
</activity>
<activity
android:name="com.ludycom.arcgis_maps.activities.OAuthUserSignInActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:exported="true"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="auth"
android:scheme="my-ags-app" />
</intent-filter>
</activity>
iOS
Not available
Examples
Basic map
Load feature tablet service
Load local files
GeoDatabase
GeoPackage
ShapeFile
Load portal feature layer
Select features in feature layer
Manage Map
Download from portal
Libraries
- entities/agml_download_portal_item
- entities/agml_geodatabase
- entities/agml_mobile_map_package
- entities/agml_oauth_user_configurations
- entities/agml_params
- entities/agml_selected_layer_arguments
- entities/agml_view_point
- entities/features/abstract_agml_feature_layer
- entities/features/agml_arcgis_online_portal_item
- entities/features/agml_feature_service
- entities/features/agml_feature_service_layer
- entities/features/agml_local_feature_layer
- entities/features/agml_local_geodatabase
- entities/features/agml_local_geopackage
- entities/features/agml_local_shapefile
- entities/features/agml_portal_item
- pigeons/auth/auth_message
- pigeons/auth/auth_pigeon.g
- utils/agml_auth_manager
- utils/agml_auth_manager_handler
- utils/agml_controller
- utils/agml_download_portal_item_manager
- utils/enums/agml_channel_status_response_enum
- utils/enums/agml_download_portal_item_manager_status_num
- utils/enums/agml_download_portal_item_status_enum
- widgets/agml_map