有没有人想通过新的Google Maps SDK for iOS实现可拖拽标记? API本身不提供它。功能请求已提交。带谷歌地图SDK的iOS可拖拽标记器
如果我能掌握GMSMarker的底层视图,我可以截获Touch事件。有人试过这个?
有没有人想通过新的Google Maps SDK for iOS实现可拖拽标记? API本身不提供它。功能请求已提交。带谷歌地图SDK的iOS可拖拽标记器
如果我能掌握GMSMarker的底层视图,我可以截获Touch事件。有人试过这个?
可拖动标记尚未添加到SDK中。请file a feature request。
已经这么做了。请参阅:http://code.google.com/p/gmaps-api-issues/issues/ detail?id = 4975) – user1971035 2013-03-10 10:53:53
你好,我刚刚在iOS的新GoogleMaps SDK中实现了标记的拖放功能。 https://github.com/rweindl/google-maps-sdk-ios-drag-drop
真棒。谢谢! – 2013-03-24 19:28:06
它显示错误纬度,很长时间后删除一个PIN :(,请交叉检查。 – Mangesh 2013-04-16 07:19:49
它完美的工作对我来说。必须在你的代码的某处...你可以开始向我们展示一些 – 2013-06-10 09:55:08
截至今天,你不需要使用外部类,只是让你的标记“拖动”
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];
和实施各自的代表:我下面的链接下发布的代码GitHub上
@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);
}
当你开始拖动标记时,有什么办法可以禁用MapView滚动动画吗? – orkenstein 2016-02-12 08:47:47
雨燕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!)
任何解决方案?谢谢 – Mangesh 2013-04-16 10:19:42
是的,两个都是正确的。请接受一个(罗伯特温德尔很酷),所以这可以越过名单:D – 2013-06-10 09:56:25