使用Google Maps SDK for iOS的可拖动标记

use*_*035 15 drag-and-drop draggable google-maps-markers google-maps-sdk-ios

有没有人想出如何使用适用于iOS的新版Google Maps SDK实现可拖动标记?API尚未本机提供.功能请求已提交.

如果我能掌握GMSMarker的基础视图,我可以拦截Touch事件.有人试过吗?

Fre*_*hez 19

截至今天,您不需要使用外部类,只需使您的标记"可拖动"

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];
Run Code Online (Sandbox Code Playgroud)

并实施相应的代表

@interface YourController: UIViewController<GMSMapViewDelegate> ...
Run Code Online (Sandbox Code Playgroud)

设置你的代表

GMSMapView *myMapView = [[GMSMapView alloc] ...];
...
myMapView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

然后你可以处理每个标记事件,即:

-(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);
}
Run Code Online (Sandbox Code Playgroud)


ska*_*arE 0

可拖动标记尚未添加到 SDK 中。请提交功能请求