我正在尝试找出一种直接的方法来在 iOS 版 Google map 中确定给定的 GMSMarker 是否在可见 map 的范围内。在 Javascript API 中似乎有解决方案,但除了基于 this post 进行一些复杂的推理之外。好像没有办法。
最佳答案
基于 Andy 的有用回复的代码示例:
- (void)snapToMarkerIfItIsOutsideViewport:(GMSMarker *)m{
GMSVisibleRegion region = _mapView.projection.visibleRegion;
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithRegion:region];
if (![bounds containsCoordinate:m.position]){
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:m.position.latitude
longitude:m.position.longitude
zoom:_mapView.camera.zoom];
[self.mapView animateToCameraPosition: camera];
}
}
关于ios - 适用于 iOS 的 Google map - 如何判断标记是否在屏幕范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065098/