У меня есть GMSMapView, связанный с моей переменной mapView. Он настроен и даже ставит на карту случайную полилинию на карте. В настоящее время у меня есть кнопка навигации, но все, что она делает, - это увеличение на пользователя. Я хотел бы сделать так, чтобы после того, как они попали в «навигацию», камера заставит следить за пользователем и не позволяет им прокручиваться вдали от своего местоположения (как и приложение Google Maps). Как я могу сделать это возможным? Благодаря!Как заставить мою карту Google следовать за пользователем в любое время и не позволять им прокручиваться
0
A
ответ
1
Я предполагаю, что вы уже получили CLLocationManager и начали обновлять его местоположение. Как только это будет сделано, вы хотите установить камеру mapView в методе делегата CLLocationManager при изменении местоположения.
Что-то вдоль линий этого:
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = manager.location {
// Create camera with the user's new location
let camera = GMSCameraPosition.cameraWithLatitude(location.coordinates.latitude, longitude: location.coordinates.longitude, zoom: 17.0)
// Animate the map to the new camera position
mapView.animateToCameraPosition(camera)
}
}
поиграться с параметрами масштабирования, чтобы получить результат, который вы хотите.
Надеюсь, это поможет.
Смежные вопросы
- 1. Strech background in div и позволять прокручиваться
- 2. Navbar не будет следовать за пользователем
- 3. Как заставить HTML-div следовать за страницей во время прокрутки?
- 4. Dragula: как заставить объект следовать за курсором
- 5. Unity3d: Как заставить объект следовать за игроком
- 6. Django - как следовать за некоторым объектом (не пользователем)
- 7. Android намерен следовать за пользователем Twitter?
- 8. Как заставить персонажа (SpriteKit) следовать за прикосновением и удерживать?
- 9. Google Maps не просматривает мою карту Центр
- 10. Как заставить CEdit правильно прокручиваться?
- 11. Как заставить Git 1.6 следовать «за символическими ссылками»
- 12. Как добавить MarkerClusterer на мою карту google
- 13. Как заставить Bukkit не сохранять куски автоматически в любое время
- 14. Как заставить врага следовать за игроком в pygame?
- 15. Instagram API просто не может следовать за пользователем
- 16. Как заставить врага следовать за игроком в pygame?
- 17. Как заставить панель поиска не прокручиваться вместе со столом?
- 18. API Google maps - получить мою пользовательскую карту
- 19. Как не просто блокировать поля в форме, но даже не позволять им нажимать?
- 20. Как заставить JQGrid правильно прокручиваться в IE6?
- 21. Как я могу контролировать прокрутку веб-страницы с помощью onclicks и не позволять пользователям прокручиваться самостоятельно?
- 22. загрузка jQuery UI удаляет мою карту Google?
- 23. Держите место в центре в любое время
- 24. Как заставить мою программу открывать окно на основе ввода пользователем?
- 25. Javascript div разбивает мою карту google
- 26. Как заставить IE не кэшировать мою страницу?
- 27. Как заставить контроллер angularJS быть активным в любое время?
- 28. Показать мою карту легенды
- 29. THREE Js: Как заставить объекты следовать объектам?
- 30. Как заставить Ruby Find.find следовать символическим ссылкам?
поэтому этот метод запускается всякий раз, когда он замечает, что местоположение пользователя изменилось? Выполняется ли это только при возникновении «manager.startUpdatingLocation()»? Остановится ли это при вызове «manager.stopUpdatingLocation()»? – skyleguy
и, на ваш взгляд, где было бы хорошим местом для первого вызова startUpdatingLocation? – skyleguy
@skyleguy Да. Этот конкретный метод делегата вызывается всякий раз, когда изменяется местоположение пользователя. [Документы Apple] (https://developer.apple.com/reference/corelocation/clocationmanagerdelegate) заявляет, что он вызывается, когда есть новые данные о местоположении. Это _usually_ означает, когда изменяется местоположение пользователя. Метод delegate остановится при вызове stopUpdatingLocation(). Что касается хорошего места для запускаОбновление местоположения, это во многом зависит от вашего варианта использования. Исходя из вашего первоначального вопроса, я думаю, что viewDidLoad может быть хорошим местом для вас. –