Я новичок в Swift и мой английский не очень хорошо
Я использовал эту функцию для управления marker
появлением или исчезновением
func mapView(_ mapView: GMSMapView, didChange position:GMSCameraPosition) {
if mapView.camera.zoom < 10 {
print("zoom < 10")
mapView.clear()
}
if mapView.camera.zoom > 10 {
print("zoom > 10")
GMSMarker().map = mapView
}
}
когда zoom < 10
маркеры исчезают
но когда я увеличиваю масштаб пусть zoom > 10
. маркеры больше не отображаются на карте
кто-то может сказать мне, что мне делать?
я буду признателен
Эта линия
mapView.clear()
очищает все маркеры на карте, и это
GMSMarker().map = mapView
создает новый 1 на лету без свойств, вам нужно хранить свои маркеры в массиве, а затем, если вы хотите, чтобы они снова появлялись после вызова clear
do
allMarkers.forEach { $0.map = mapView }
куда
var allMarkers = [GMSMarker]()
каждый маркер, который вы ранее добавили на карту, также должен быть добавлен в массив allMarkers
извините, я этого не понимаю. Я поставил
var allMarkers = [GMSMarker]()
иallMarkers.forEach { $0.map = mapView }
вif mapView.camera.zoom > 10 { }
, но это не работает. Я ошибся?