gif-jungle

50,000 XNUMX chargements de cartes gratuits chaque mois. Commence dès maintenant!

Flightmap SDK exploite la puissance du sdk opensource MBGL pour rendre notre ensemble de données cartographiques personnalisé. Notre SDK prend en charge la version actuelle : v1.0.3.6 et les caractéristiques suivantes:

  • Styles de carte

  • Manipulation de la caméra

  • Gestes

Installer le SDK Flightmap

Avant de commencer à développer votre application avec le SDK Flightmap, vous devrez ajouter le SDK en tant que dépendance. Vous pouvez trouver la dépendance suivante donnée ci-dessous dans le référentiel MavenCentral. Si votre application est proche ou dépasse la limite de nombre de méthodes de 65 XNUMX, vous pouvez atténuer ce problème en activant ProGuard dans votre application. Les directives ProGuard sont incluses dans les dépendances Android pour préserver les classes requises. Vous pouvez également réduire la taille du fichier APK en utilisant le fractionnement APK.

Ajouter la dépendance
  • Démarrer Android Studio

  • Le projet Android devrait être dans Android X

  • AndroidStudio 3.+

  • Ouvrez le fichier build.gradle de votre application.

  • Assurez-vous que la minSdkVersion de votre projet est à l'API 14 ou supérieure.

  • Sous dépendances, ajoutez une nouvelle ligne de dépendance d'implémentation pour le dernier flightmap-android-sdk.

  • Recherchez le fichier dans la barre d'outils, puis cliquez sur synchroniser le projet avec les fichiers Gradle.

Remarque:Ajoutez la dépendance suivante au fichier build.gradle de votre module d'application project/app/build.gradle :

dépendances {
implémentation 'com.flightmap.flightmapsdk:flightmap:1.0.3.6'
}

Remarque:Ajouter Maven dans le fichier build.gradle du projet dans tous les référentiels de projet

tous les projets {
dépôts {
Google()
jcentre()

maven { url 'https://dl.bintray.com/flightmap/com.flightmap' }

}
}

De plus, l'exécution de gradle app_module_name_here:dependencies dans votre ligne de commande imprimera une liste de dépendances. ./gradlew app:dependencies fonctionne si vous avez un wrapper Gradle. Ils sont utiles pour dépanner les configurations agiles de Gradle lorsque plusieurs bibliothèques sont incluses dans un seul projet. Vous pouvez voir les dépendances apportées par des bibliothèques spécifiques et où des conflits peuvent se produire.

Obtenez un jeton d'accès

Copiez votre jeton public par défaut dans votre presse-papiers. Après avoir ajouté le SDK Maps en tant que dépendance dans votre projet Android, ouvrez le fichier R.strings.xml, créez une nouvelle ressource String et collez le jeton d'accès.

FLIGHTMAP_ACCESS_TOKEN

Ensuite, pour le transmettre au SDK Flightmap, vous souhaiterez placer le jeton d'accès dans la méthode onCreate() de votre application.

la classe publique MyApplication étend Application {

@Override public void onCreate() {
super.onCreate()

// Jeton d'accès à la carte de vol
Mapbox.getInstance(getApplicationContext(), getString(R.string.flightmap_access_token))
}
}

Le SDK Flightmap fournit également une méthode setToken() au cas où vous voudriez changer le jeton d'accès Flightmap lors de l'exécution.

Mapbox.setAccessToken(FLIGHTMAP_ACCESS_TOKEN);

Autorisations de configuration

À partir de la version 5.0 du SDK Maps, vous pouvez utiliser la fonctionnalité de fusion de manifestes pour réduire le besoin d'inclure les éléments requis par le SDK Maps dans le fichier manifeste de votre application. Vous devrez ajouter l'autorisation d'emplacement précis ou grossier si vous prévoyez d'afficher l'emplacement d'un utilisateur sur la carte ou d'obtenir les informations d'emplacement de l'utilisateur. L'autorisation d'emplacement de l'utilisateur doit également être vérifiée pendant l'exécution à l'aide de PermissionsManager.

Ajouter une carte

Ouvrez le fichier Java de l'activité dans laquelle vous souhaitez inclure la carte et ajoutez le code ci-dessous au fichier.

MapView privé MapView ;
@Override protected void onCreate(Bundle saveInstanceState) {
super.onCreate (état d'instance enregistré)

Mapbox.getInstance(this, getString(R.string.flightmap_access_token*

setContentView (R.layout.activity_main)
mapView = (MapView) findViewById (R.id.mapView)
mapView.onCreate(savedInstanceState(
mapView.getMapAsync(nouveau OnMapReadyCallback() {
@Override public void onMapReady (@NonNull MapboxMap mapboxMap) {
mapboxMap.setStyle(Style.DARK, nouveau Style.OnStyleLoaded() {
@ Override
public void onStyleLoaded@(Style de style non nul) {
// La carte est configurée et le style est chargé. Vous pouvez maintenant ajouter des données ou effectuer d'autres ajustements de carte
}
})
}
})
}

Pour définir le style avec l'URL.
  • Thème sombre:https://maps.flightmap.io/styles/style-dark.json

  • Thème clair :https://maps.flightmap.io/styles/style-bright.json

mapboxMap.setStyle(nouveau Style.Builder().fromUri("https://maps.flightmap.io/styles/style-dark.json"),
nouveau Style.OnStyleLoaded() {
@Override public void onStyleLoaded(@Style de style NonNull) {
}
})

Ouvrez le fichier de mise en page XML de l'activité et ajoutez le mapView dans votre mise en page.

<com.mapbox.mapboxsdk.maps.MapView
android:id="@+id/mapView"
android: layout_width = "match_parent"
android: layout_height = "match_parent"
/>

Méthodes de cycle de vie

Le MapView contient ses propres méthodes de cycle de vie pour gérer le cycle de vie OpenGL d'Android, qui doivent être appelées directement à partir de l'activité contenante. Pour que votre application appelle correctement les méthodes de cycle de vie de MapView, vous devez remplacer les méthodes de cycle de vie suivantes dans l'activité qui contient MapView et appeler la méthode MapView correspondante. Par exemple, votre méthode onStart() devrait ressembler à ceci :

@ Override
protégé void onStart() {
super.onStart()
mapView.onStart()
}

Comme le remplacement onStart() ci-dessus, les méthodes de cycle de vie suivantes doivent également être remplacées et inclure la méthode MapView correspondante :

@ Override
protected void onResume () {
super.onResume()
mapView.onResume()
}

@ Override
protected void onPause () {
super.onPause()
mapView.onPause()
}

@ Override
protégé void onStop() {
super.onStop()
mapView.onStop()
}

@ Override
protected void onSaveInstanceState (Bundle outState) {
super.onSaveInstanceState(outState) mapView.onSaveInstanceState(outState) }

@ Override
public void onLowMemory() {
super.onLowMemory()
mapView.onLowMemory()
}

@ Override
vide protégé onDestroy() {
super.onDestroy()
mapView.onDestroy()
}

Si vous utilisez un fragment, appelez mapview.onDestroy() dans la méthode onDestroyView() du fragment plutôt que dans onDestroy() :

@ Override
public void onDestroyView() {
super.onDestroyView()
mapView?.onDestroy()
}

Ajouter un marqueur

Les marqueurs sont utiles pour identifier un seul point sur la carte. Le SDK est livré avec une icône de marqueur par défaut qui peut être configurée pour répondre à vos besoins spécifiques. Les API sont exposées pour éventuellement remplacer cette icône par n'importe quelle image bitmap de votre choix. Pour créer un marqueur pour votre carte, il vous suffit de fournir une position LatLng qui définit où le marqueur sera placé sur la carte. Appelez mapboxMap.addMarker() pour ajouter le marqueur à la carte.

mapboxMap.addMarker(nouvelles options de marqueur()
.position(nouveau LatLng(48.85819, 2.29458))
.title("Tour Eiffel"))

Ajoutez une liste de marqueurs à l'aide de mapboxMap.addMarkers() si vous avez de nombreux marqueurs ou si vous les chargez à partir d'un fichier GeoJSON.

Suppression des marqueurs

Le SDK Flightmsp Android est livré avec deux méthodes pour supprimer les marqueurs. Si vous souhaitez supprimer un marqueur particulier, utilisez mapboxMap.removeMarker() tout en transmettant l'objet marqueur à supprimer. Si vous souhaitez supprimer tous les marqueurs, appelez la méthode mapboxMap.clear(). Notez que cela supprimera également les polylignes et les polygones que vous avez ajoutés à votre carte.

Personnaliser l'icône du marqueur

Vous pouvez spécifier une icône personnalisée en utilisant l'objet IconFactory et en la transmettant au marqueur. L'icône de marqueur par défaut est utilisée si vous ne spécifiez pas d'icône lors de la création de votre marqueur. L'ancrage du marqueur sera au centre, ce qui signifie que si vous avez une icône avec un point, vous devrez ajouter un rembourrage au bas de l'image.

IconFactory iconFactory = IconFactory.getInstance (MainActivity.this)
Icône icône = iconFactory.fromResource(R.drawable.blue_marker)
mapboxMap.addMarker(nouvelles options de marqueur()
.position(nouveau LatLng(48.85819, 2.29458))
.icon(icône))

Ajouter une polyligne

Ajouter une ligne ou un polygone à votre carte revient à ajouter un marqueur. En raison de la nature de ces objets, différentes API sont exposées, telles que la couleur du polygone ou la largeur de ligne. Au lieu de prendre une seule position, regroupez tous vos objets LatLng dans une liste, puis transmettez-les à l'aide de la méthode addAll().

mapboxMap.addPolyline(nouvelles options de polyligne()
.addAll(points)
.color(Couleur.parseColor("#3bb2d0"))
.largeur(2))

Trouvons un moyen ensemble

Contactez-nous pour connaître nos plans tarifaires

Contactez-Nous