Подтвердить что ты не робот

Перетаскиваемый маркер с SDK Google Maps для iOS

Кто-нибудь понял, как реализовать перетаскиваемые маркеры с новым SDK Google Maps для iOS? API еще не предоставляет его изначально. Запрос функции уже отправлен.

Если бы я мог уловить основной взгляд на GMSMarker, я мог бы перехватить события Touch. Кто-нибудь пробовал это?

4b9b3361

Ответ 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

Ответ 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!)