Я использую Google Maps, чтобы установить выбор местоположения пользователя. Пользователь может перетащить маркер, чтобы установить положение на карте. Я обнаружил, что заставить маркер двигаться очень сложно. Позвольте мне сначала показать небольшой код, который у меня есть:
mMap.setOnMarkerDragListener(object: GoogleMap.OnMarkerDragListener {
override fun onMarkerDragEnd(p0: Marker?) {
if (p0 != null) {
newlat = p0.position.latitude
newlong = p0.position.longitude
}
}
Перед этим фрагментом кода у меня есть другие процедуры, которые сначала устанавливают местоположение карты. Затем пользователь может точно настроить положение, перетаскивая маркер с помощью приведенного выше кода. Это моя цель. Но маркер не всегда перетаскивается. Это крайне непредсказуемо, когда маркер будет перетаскивать, когда он не будет. Есть ли более простой способ сделать это?
Чтобы дать лучшее объяснение моей проблемы. В моей системе пользователь сначала вручную вводит детали адреса. В других моих подпрограммах Google Map ищет этот адрес и размещает маркер на месте. Но я видел, что в этом обычно есть ошибка. Поэтому я предоставляю пользователю последний шанс для точной настройки позиции с помощью перетаскиваемой функции. В то время как перетаскивание иногда успешно, очень трудно переместить маркер.