Geolocalização e mapas em Kotlin: visão geral de bibliotecas e ferramentas

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Geolocalização e mapas em Kotlin: visão completa das ferramentas



Kotlin, sendo uma linguagem de programação moderna para desenvolvimento Android e backend, oferece aos desenvolvedores recursos poderosos para trabalhar com geolocalização e mapas. Neste artigo, veremos as principais bibliotecas e ferramentas que permitirão integrar facilmente serviços de mapas e funções de determinação de localização em seus projetos Kotlin.



1. Google Maps SDK para Android (Kotlin)



Google Maps SDK é a ferramenta mais popular e funcional para trabalhar com mapas em aplicativos Android. Ele fornece um conjunto completo de APIs para exibir mapas, adicionar marcadores, polígonos, controlar a câmera e obter informações de localização.



Para começar, adicione a dependência no 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")}


Exemplo de adição de um mapa em uma Activity usando 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("Marcador em Sydney")) googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 12f)) }}


2. Yandex Maps SDK para Android (Kotlin)



Yandex Maps SDK é uma excelente alternativa para projetos voltados ao público de língua russa. Ele oferece mapas detalhados da Rússia e CEI, além de funções únicas, como visualização de trânsito e rotas de transporte público.



Conexão da biblioteca:



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


Exemplo de exibição de mapa com marcador:



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



OSMDroid é uma biblioteca de código aberto que utiliza dados do OpenStree

Recommendations