我是Android编程的初学者。我想通过点击地图屏幕在该点添加一个标记。所以我尝试了下面的编码。但它不起作用。
override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap
mMap.setOnMapClickListener(object :GoogleMap.OnMapClickListener {
override fun onMapClick(latlng :LatLng) {
val location = LatLng(latlng.latitude,latlng.longitude)
mMap.addMarker(MarkerOptions().position(location))
}
})
}
在GoogleMap上添加Marker
之前,我建议清理地图并将相机动画设置到新的点击位置。
希望这能帮助你:
override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap
mMap.setOnMapClickListener(object :GoogleMap.OnMapClickListener {
override fun onMapClick(latlng :LatLng) {
// Clears the previously touched position
mMap.clear();
// Animating to the touched position
mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
val location = LatLng(latlng.latitude,latlng.longitude)
mMap.addMarker(MarkerOptions().position(location))
}
})
}
googleMap!!.addMarker(
MarkerOptions()
.position(
LatLng(
mapViewModel!![i].mLongitude,
mapViewModel!![i].mLatitude
))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_mc_one))
.title("" + mapViewModel!![i].mOrganizationName.capitalize())
.snippet("" + mapViewModel!![i].mOrganizationTagLine.capitalize())
)