Mapas: polylines en Kotlin
Cómo crear polylines en Kotlin
Polylines en Google Maps con Kotlin
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="kotlin">#A802EF</color>
</resources>
private fun createPolylines(map: GoogleMap){
val polylineOptions = PolylineOptions()
.add(LatLng(40.419173113350965,-3.705976009368897))
.add(LatLng( 40.4150807746539, -3.706072568893432))
.add(LatLng( 40.41517062907432, -3.7012016773223873))
.add(LatLng( 40.41713105928677, -3.7037122249603267))
.add(LatLng( 40.41926296230622, -3.701287508010864))
.add(LatLng( 40.419173113350965, -3.7048280239105225))
.add(LatLng(40.419173113350965,-3.705976009368897))
.width(30f)
.color(ContextCompat.getColor(this, R.color.kotlin))
val polyline = map.addPolyline(polylineOptions)
}
onMapReady()
override fun onMapReady(googleMap: GoogleMap) {
map = googleMap
// val polylineOptions = PolylineOptions()
//createMarker()
createPolylines(map)
map.uiSettings.isZoomControlsEnabled = true //Zoom en el mapa
val favoritePlace = LatLng(40.4172,-3.7047)
map.animateCamera(
CameraUpdateFactory.newLatLngZoom(favoritePlace, 15f),
5000,
null
)
}
Polilíneas y polígonos para representar rutas y áreas
Polilíneas
Polígonos
Eventos clic y long clic en el mapa
googleMap.setOnMapClickListener { latLng ->
// Handle map click
}
googleMap.setOnMapLongClickListener { latLng ->
// Handle map long click
}
googleMap.setOnMarkerClickListener { marker ->
// Handle marker click
true
}
Poner un marcador al hacer long click en el mapa
override fun onMapReady(googleMap: GoogleMap) {
map = googleMap
// val polylineOptions = PolylineOptions()
//createMarker()
createPolylines(map)
map.uiSettings.isZoomControlsEnabled = true //Zoom en el mapa
val favoritePlace = LatLng(40.4172,-3.7047)
map.animateCamera(
CameraUpdateFactory.newLatLngZoom(favoritePlace, 15f),
5000,
null
)
// manejo de eventos click y longClick en el mapa
// map.setOnMapClickListener { }
// map.setOnMapLongClickListener { }
// poner un marcador al hacer long click
map.setOnMapLongClickListener { latlng ->
map.animateCamera(CameraUpdateFactory.newLatLng(latlng))
val getcoordinates = LatLng(latlng.latitude, latlng.longitude)
map.addMarker(MarkerOptions()
.position(getcoordinates)
.title(getcoordinates.toString())
.snippet(getAddress(getcoordinates)))
}
}
private fun getAddress(latLng: LatLng): String? {
val geocoder = Geocoder(this)
val list = geocoder.getFromLocation(latLng.latitude,latLng.longitude,1)
return list?.get(0)?.getAddressLine(0)
}
Codelab: Android Google Maps
Codelab: Add a map to your Android app (Kotlin)
Tarea online
Más información:
Google Maps Android Api v2: Guía De Mapas
Codelab: Add a map to your Android app (Kotlin with Compose)
Android Samples
(añadir al fichero local.properties la línea MAPS_API_KEY = myAPIKey)
Polylines and Polygons to Represent Routes and Areas
Select Current Place and Show Details on a Map
Repositorio en GitHub de los tutoriales
Código de los tutoriales: maps_tutorials_java (en Android)
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.