Géolocalisation et cartes en Kotlin : aperçu des bibliothèques et outils

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Géolocalisation et cartes en Kotlin : aperçu complet des outils



Kotlin, en tant que langage de programmation moderne pour le développement Android et serveur, offre aux développeurs des outils puissants pour travailler avec la géolocalisation et les cartes. Dans cet article, nous examinerons les principales bibliothèques et outils qui vous permettront d'intégrer facilement des services cartographiques et des fonctions de localisation dans vos projets Kotlin.



1. Google Maps SDK pour Android (Kotlin)



Google Maps SDK est l'outil le plus populaire et le plus fonctionnel pour travailler avec les cartes dans les applications Android. Il fournit un ensemble complet d'API pour afficher des cartes, ajouter des marqueurs, des polygones, contrôler la caméra et obtenir des informations de localisation.



Pour commencer, ajoutez la dépendance dans build.gradle.kts :



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


Exemple d'ajout d'une carte dans une Activity en utilisant 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("Marqueur à Sydney")) googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 12f)) }}


2. Yandex Maps SDK pour Android (Kotlin)



Yandex Maps SDK est une excellente alternative pour les projets destinés au public russophone. Il propose des cartes détaillées de la Russie et de la CEI, ainsi que des fonctionnalités uniques telles que la visualisation des embouteillages et les itinéraires de transport en commun.



Connexion de la bibliothèque :



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


Exemple d'affichage d'une carte avec un marqueur :



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) pour Kotlin



OSMDroid est une bibliothèque open source qui utilise les données OpenStree

Recommendations