【发布时间】:2013-06-04 21:01:21
【问题描述】:
当用户在 iOS 版 Google Maps API V1.3 中点击其当前位置(蓝点)时,我想添加一个 infoWindow。
我可以在其他标记上获取 infoWindows,但不能显示在用户位置上方。任何帮助,将不胜感激。谢谢!
【问题讨论】:
标签: iphone google-maps-api-3 google-maps-sdk-ios
当用户在 iOS 版 Google Maps API V1.3 中点击其当前位置(蓝点)时,我想添加一个 infoWindow。
我可以在其他标记上获取 infoWindows,但不能显示在用户位置上方。任何帮助,将不胜感激。谢谢!
【问题讨论】:
标签: iphone google-maps-api-3 google-maps-sdk-ios
作为替代选项,您能否在用户当前位置添加一个带有透明图标的标记?
您可以在地图视图的 myLocation 值更改时使用 KVO 移动标记。
您可以在此处查看有关如何添加观察者的一些示例代码(但您可以移动不可见标记,而不是移动相机):
【讨论】:
当您使用“默认”用户位置时,您不能。因为它不是真正的标记,所以不会触发回调。
在我们的案例中,我设置了showsMyLocation=NO,但我滚动了自己的位置。我添加了另一个标记并使用CLLocationManager 根据那个位置定位它..
所以在伪代码中
- viewDidLoad
map.showsUserLocation=NO;
locationManager = [CLLocationManager new];
locationManager.delegate = self;
}
- locationManager:didUpdateUserLocation:newLoc {
if(!annotation) {
annotation = [GMSMarker new];
annotation.map = map;
}
annotation.position = newLoc;
}
=> 自己的注释,您可以像对待任何其他标记一样对待!
【讨论】: