Dschungel-gif

Jeden Monat 50,000 kostenlose Kartenladungen. Jetzt loslegen!

Flightmap SDK nutzt die Leistungsfähigkeit des Open-Source-MBGL-SDK, um unseren benutzerdefinierten Kartendatensatz zu rendern. Unser SDK unterstützt die aktuelle Version: v1.0.3.6 und die folgenden Funktionen:

  • Kartenstile

  • Kameramanipulation

  • Gestures

Installieren Sie das Flightmap-SDK

Bevor Sie mit der Entwicklung Ihrer Anwendung mit dem Flightmap SDK beginnen, müssen Sie das SDK als Abhängigkeit hinzufügen. Sie finden die folgende unten angegebene Abhängigkeit im MavenCentral-Repository. Wenn Ihre Anwendung geschlossen ist oder die 65-Methoden-Zählgrenze überschreitet, können Sie dieses Problem entschärfen, indem Sie ProGuard in Ihrer Anwendung aktivieren. ProGuard-Anweisungen sind in den Android-Abhängigkeiten enthalten, um die erforderlichen Klassen beizubehalten. Sie können die APK-Dateigröße auch verkleinern, indem Sie die APK-Aufteilung verwenden.

Abhängigkeit hinzufügen
  • Android Studio starten

  • Android Project sollte in Android X enthalten sein

  • Android Studio 3.+

  • Öffnen Sie die build.gradle-Datei Ihrer Anwendung.

  • Stellen Sie sicher, dass die minSdkVersion Ihres Projekts API 14 oder höher ist.

  • Fügen Sie unter Abhängigkeiten eine neue Implementierungsabhängigkeitszeile für das neueste Flightmap-Android-SDK hinzu.

  • Suchen Sie die Datei in der Symbolleiste und klicken Sie dann auf Projekt mit Gradle-Dateien synchronisieren.

Hinweis:Fügen Sie der build.gradle-Datei project/app/build.gradle Ihres App-Moduls die folgende Abhängigkeit hinzu:

Abhängigkeiten {
Implementierung „com.flightmap.flightmapsdk:flightmap:1.0.3.6“
}

Hinweis:Fügen Sie Maven in der Datei build.gradle des Projekts in allen Projekt-Repositorys hinzu

alleProjekte {
Repositories {
Google()
jcenter()

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

}
}

Darüber hinaus wird beim Ausführen von gradle app_module_name_here:dependencies in Ihrer Befehlszeile eine Liste der Abhängigkeiten gedruckt. ./gradlew app:dependencies funktioniert, wenn Sie einen Gradle-Wrapper haben. Sie sind hilfreich bei der Fehlerbehebung bei flinken Gradle-Konfigurationen, wenn verschiedene Bibliotheken in einem einzigen Projekt enthalten sind. Sie können die Abhängigkeiten sehen, die bestimmte Bibliotheken mit sich bringen, und wo Konflikte auftreten können.

Holen Sie sich ein Zugriffstoken

Kopieren Sie Ihr standardmäßiges öffentliches Token in Ihre Zwischenablage. Nachdem Sie das Maps SDK als Abhängigkeit in Ihrem Android-Projekt hinzugefügt haben, öffnen Sie die Datei R.strings.xml, erstellen Sie eine neue String-Ressource und fügen Sie das Zugriffstoken ein.

FLIGHTMAP_ACCESS_TOKEN

Um dies dann an das Flightmap-SDK zu übergeben, sollten Sie das Zugriffstoken in die Methode onCreate() Ihrer Anwendung einfügen.

öffentliche Klasse MyApplication erweitert Application {

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

// Flightmap-Zugriffstoken
Mapbox.getInstance(getApplicationContext(), getString(R.string.flightmap_access_token))
}
}

Das Flightmap-SDK bietet auch eine setToken()-Methode für den Fall, dass Sie das Flightmap-Zugriffstoken zur Laufzeit wechseln möchten.

Mapbox.setAccessToken(FLIGHTMAP_ACCESS_TOKEN);

Berechtigungen einrichten

Ab der Version 5.0 des Maps SDK können Sie die Manifest-Zusammenführungsfunktion verwenden, um die Notwendigkeit zu reduzieren, alle für das Maps SDK erforderlichen Dinge in die Manifestdatei Ihrer Anwendung aufzunehmen. Sie müssen entweder die Standortberechtigung Fein oder Grob hinzufügen, wenn Sie den Standort eines Benutzers auf der Karte anzeigen oder die Standortinformationen des Benutzers abrufen möchten. Die Standortberechtigung des Benutzers sollte auch während der Laufzeit mit dem PermissionsManager überprüft werden.

Eine Karte hinzufügen

Öffnen Sie die Java-Datei der Aktivität, in die Sie die Karte einfügen möchten, und fügen Sie der Datei den folgenden Code hinzu.

private MapView mapView;
@Override protected void onCreate(Bundle savingInstanceState) {
super.onCreate(SavedInstanceState)

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(new OnMapReadyCallback() {
@Override public void onMapReady(@NonNull MapboxMap mapboxMap) {
mapboxMap.setStyle(Style.DARK, neuer Style.OnStyleLoaded() {
@Überschreiben
public void onStyleLoaded@(NonNull Style style) {
// Die Karte ist eingerichtet und der Stil wurde geladen. Jetzt können Sie Daten hinzufügen oder andere Kartenanpassungen vornehmen
}
})
}
})
}

Stil mit URL festlegen.
  • Dunkles Thema:https://maps.flightmap.io/styles/style-dark.json

  • LichtThema:https://maps.flightmap.io/styles/style-bright.json

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

Öffnen Sie die XML-Layoutdatei der Aktivität und fügen Sie die mapView in Ihr Layout ein.

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

Lebenszyklusmethoden

MapView enthält eigene Lebenszyklusmethoden zum Verwalten des OpenGL-Lebenszyklus von Android, die direkt von der enthaltenden Aktivität aufgerufen werden müssen. Damit Ihre App die Lebenszyklusmethoden von MapView korrekt aufruft, müssen Sie die folgenden Lebenszyklusmethoden in der Aktivität überschreiben, die die MapView enthält, und die entsprechende MapView-Methode aufrufen. Ihre Methode onStart() sollte beispielsweise so aussehen:

@Überschreiben
geschützt void onStart() {
super.onStart()
mapView.onStart()
}

Wie die obige onStart()-Überschreibung müssen auch die folgenden Lebenszyklusmethoden überschrieben werden und die entsprechende MapView-Methode enthalten:

@Überschreiben
protected void onResume () {
super.onResume()
mapView.onResume()
}

@Überschreiben
protected void onPause () {
super.onPause()
mapView.onPause()
}

@Überschreiben
geschützt void onStop() {
super.onStop()
mapView.onStop()
}

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

@Überschreiben
public void onLowMemory() {
super.onLowMemory()
mapView.onLowMemory()
}

@Überschreiben
geschützt void onDestroy() {
super.onDestroy()
mapView.onDestroy()
}

Wenn Sie ein Fragment verwenden, rufen Sie mapview.onDestroy() innerhalb der onDestroyView()-Methode des Fragments statt innerhalb von onDestroy() auf:

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

Marker hinzufügen

Markierungen sind nützlich, wenn Sie einen einzelnen Punkt auf der Karte identifizieren. Das SDK wird mit einem Standardmarkierungssymbol geliefert, das an Ihre spezifischen Anforderungen angepasst werden kann. APIs können dieses Symbol optional in ein beliebiges Bitmap-Bild ändern. Um eine Markierung für Ihre Karte zu erstellen, müssen Sie nur eine LatLng-Position angeben, die definiert, wo die Markierung auf der Karte platziert wird. Rufen Sie mapboxMap.addMarker() auf, um die Markierung zur Karte hinzuzufügen.

mapboxMap.addMarker (neue MarkerOptions()
.position(new LatLng(48.85819, 2.29458))
.title("Eiffelturm"))

Fügen Sie mit mapboxMap.addMarkers() eine Liste von Markierungen hinzu, wenn Sie viele Markierungen haben oder sie aus einer GeoJSON-Datei laden.

Markierungen entfernen

Das Flightmsp Android SDK enthält zwei Methoden zum Entfernen von Markierungen. Wenn Sie eine bestimmte Markierung entfernen möchten, verwenden Sie mapboxMap.removeMarker(), während Sie das zu entfernende Markierungsobjekt übergeben. Wenn Sie alle Markierungen entfernen möchten, rufen Sie die Methode mapboxMap.clear() auf. Beachten Sie, dass dadurch auch alle Polylinien und Polygone entfernt werden, die Sie Ihrer Karte hinzugefügt haben.

Markierungssymbol anpassen

Sie können ein benutzerdefiniertes Symbol angeben, indem Sie das IconFactory-Objekt verwenden und es an die Markierung übergeben. Das standardmäßige Markierungssymbol wird verwendet, wenn Sie beim Erstellen Ihrer Markierung kein Symbol angeben. Die Verankerung des Markers befindet sich in der Mitte. Wenn Sie also ein Symbol mit einem Punkt haben, müssen Sie am unteren Rand des Bildes eine Auffüllung hinzufügen.

IconFactory iconFactory = IconFactory.getInstance(MainActivity.this)
Symbol icon = iconFactory.fromResource(R.drawable.blue_marker)
mapboxMap.addMarker (neue MarkerOptions()
.position(new LatLng(48.85819, 2.29458))
.Symbol (Symbol))

Polylinie hinzufügen

Das Hinzufügen einer Linie oder eines Polygons zu Ihrer Karte ist wie das Hinzufügen einer Markierung. Aufgrund der Art dieser Objekte werden verschiedene APIs offengelegt, wie z. B. Polygonfarbe oder Linienbreite. Anstatt eine einzelne Position einzunehmen, bündeln Sie alle Ihre LatLng-Objekte in einer Liste und übergeben Sie sie dann mit der Methode addAll().

mapboxMap.addPolyline (neue PolylineOptions()
.addAll(Punkte)
.color(Farbe.parseColor("#3bb2d0"))
.Breite(2))

Lassen Sie uns gemeinsam einen Weg finden

Kontaktieren Sie uns, um mehr über unsere Preispläne zu erfahren

Kontakt