ios - 适用于 iOS 的 Google map - 如何判断标记是否在屏幕范围内?

标签 ios google-maps

我正在尝试找出一种直接的方法来在 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/

相关文章:

android - 如何根据我在 map 上的折线的位置获取插槽

java - 计算两点之间的距离

google-maps - Google map 中的自定义标记未在 Firefox 中显示

ios - SWIFT - LocationManager 循环多次?

ios - 如何在 Mail-App 中查看下一个细节 View

ios - Xcode Ios Configurable-C如何比较CGPoint

android - 调试需要服务器 URL 的应用程序

ios - 如何在另一个选项卡的 View Controller 中为协议(protocol)设置委托(delegate)?

javascript - Angular Google map 地理编码回调

jquery - 什么是好的 Google map 生成器?