Перетаскиваемый маркер с SDK Google Maps для iOS
Кто-нибудь понял, как реализовать перетаскиваемые маркеры с новым SDK Google Maps для iOS? API еще не предоставляет его изначально. Запрос функции уже отправлен.
Если бы я мог уловить основной взгляд на GMSMarker, я мог бы перехватить события Touch. Кто-нибудь пробовал это?
Ответы
Ответ 1
На сегодняшний день вам не нужно использовать внешние классы, просто сделайте маркеры "перетаскиваемыми"
GMSMarker *myMarker = [[GMSMarker alloc] ...];
...
[myMarker setDraggable: YES];
// Use some kind of data to identify each marker, marker does not have 'tag' but 'userData' that is an 'id' type
[myMarker setUserData: markerId];
И реализовать соответствующий делегат
@interface YourController: UIViewController<GMSMapViewDelegate> ...
Установите делегат
GMSMapView *myMapView = [[GMSMapView alloc] ...];
...
myMapView.delegate = self;
Затем вы можете обрабатывать каждое событие маркера, то есть:
-(void)mapView:(GMSMapView *)mapView didEndDraggingMarker:(GMSMarker *)marker{
if ([marker.userData isEqualtoString:@"xMark"])
NSLog(@"marker dragged to location: %f,%f", marker.position.latitude, marker.position.longitude);
}
Ответ 2
Здравствуйте, я только что реализовал функцию перетаскивания для маркера в новом SDK GoogleMaps для iOS. Я опубликовал код на github по следующей ссылке:
https://github.com/rweindl/google-maps-sdk-ios-drag-drop
Ответ 3
Перемещаемые маркеры еще не добавлены в SDK. напишите запрос функции.
Ответ 4
Swift 3.0
Сладкое! Все, что мне нужно было сделать, это добавить эту переменную в мой маркер. Затем, осторожно выберите и удерживайте маркер на мгновение, вы можете перетащить его.
marker.isDraggable = true
Я еще не реализовал делегатов для сохранения моих данных маркера, но вот что должно выглядеть.
extension MapVC : GMSMapViewDelegate {
func mapView (_ mapView: GMSMapView, didEndDragging didEndDraggingMarker: GMSMarker) {
print("Drag ended!")
print("Update Marker data if stored somewhere.")
}
}
Примечание. Некоторое время я пытался отключить экран и маркер от плавающей и анимации UP после выбора. Теперь я вижу, что это "функция", так как ваш палец находится на пути, и вы не можете хорошо видеть, если он не перемещает экран во время перетаскивания. (Duh!)