Geolokalisierung und Karten in Kotlin: Überblick über Bibliotheken und Tools

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Geolokalisierung und Karten in Kotlin: vollständiger Überblick über Tools



Kotlin, als moderne Programmiersprache für Android und Serverentwicklung, bietet Entwicklern leistungsstarke Werkzeuge für die Arbeit mit Geolokalisierung und Karten. In diesem Artikel betrachten wir die wichtigsten Bibliotheken und Tools, mit denen Sie Kartendienste und Standortbestimmungsfunktionen problemlos in Ihre Kotlin-Projekte integrieren können.



1. Google Maps SDK für Android (Kotlin)



Google Maps SDK ist das beliebteste und funktionsreichste Tool für die Arbeit mit Karten in Android-Apps. Es bietet eine vollständige API für die Anzeige von Karten, das Hinzufügen von Markern, Polygonen, die Kamerasteuerung und das Abrufen von Standortinformationen.



Fügen Sie zunächst die Abhängigkeit in build.gradle.kts hinzu:



dependencies {    implementation("com.google.android.gms:play-services-maps:18.2.0")    implementation("com.google.android.gms:play-services-location:21.0.1")}


Beispiel für das Hinzufügen einer Karte in einer Activity mit SupportMapFragment:



import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.google.android.gms.maps.GoogleMapimport com.google.android.gms.maps.OnMapReadyCallbackimport com.google.android.gms.maps.SupportMapFragmentimport com.google.android.gms.maps.model.LatLngimport com.google.android.gms.maps.model.MarkerOptions

class MapsActivity : AppCompatActivity(), OnMapReadyCallback {

private lateinit var googleMap: GoogleMap

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps)

val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) }

override fun onMapReady(map: GoogleMap) { googleMap = map val sydney = LatLng(-33.852, 151.211) googleMap.addMarker(MarkerOptions() .position(sydney) .title("Marker in Sydney")) googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 12f)) }}


2. Yandex Maps SDK für Android (Kotlin)



Yandex Maps SDK ist eine hervorragende Alternative für Projekte, die sich an ein russischsprachiges Publikum richten. Es bietet detaillierte Karten von Russland und der GUS sowie einzigartige Funktionen wie die Visualisierung von Staus und Routen des öffentlichen Nahverkehrs.



Einbindung der Bibliothek:



dependencies {    implementation("com.yandex.android:maps.mobile:4.3.1-lite")}


Beispiel für die Anzeige einer Karte mit einem Marker:



import com.yandex.mapkit.MapKitFactoryimport com.yandex.mapkit.mapview.MapViewimport com.yandex.mapkit.geometry.Pointimport com.yandex.mapkit.map.MapObjectCollectionimport com.yandex.runtime.image.ImageProvider

class MainActivity : AppCompatActivity() { private lateinit var mapview: MapView

override fun onCreate(savedInstanceState: Bundle?) { MapKitFactory.initialize(this) super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mapview = findViewById(R.id.mapview) mapview.map.move( CameraPosition(Point(55.751244, 37.618423), 11f, 0f, 0f) ) val mapObjects: MapObjectCollection = mapview.map.mapObjects mapObjects.addPlacemark( Point(55.751244, 37.618423), ImageProvider.fromResource(this, R.drawable.marker) ) }

override fun onStop() { mapview.onStop() MapKitFactory.getInstance().onStop() super.onStop() }}


3. OpenStreetMap (OSMDroid) für Kotlin



OSMDroid ist eine Open-Source-Bibliothek, die OpenStreetMap-Daten verwendet.

Empfehlungen