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.
Auch in der Bibliothek
Überwachung von TypeScript-Anwendungen: Bibliotheken, Tools und Konfiguration
Datenvalidierung in Swift (iOS/macOS): Bibliotheken und Ansätze