无论如何在谷歌地图上计算英里或米到像素来计算缩放级别?

时间:2016-05-06 04:17:05

标签: ios google-maps google-maps-api-3 pixel data-conversion

我一直在寻找这件事。 在Google地图中是否有任何数学公式可将里程或米转换为像素缩放级别?任何形式的帮助表示赞赏。我目前正在为iOS工作。

1 个答案:

答案 0 :(得分:0)

我从这里https://gist.github.com/ryanhanwu/4dbcdbdf384f5a3cca1f找到了解决方案
我为Swift 4重新编写了它,如下所示:

let topLeft: CLLocationCoordinate2D = mapView.projection.visibleRegion().farLeft
let bottomLeft: CLLocationCoordinate2D = mapView.projection.visibleRegion().nearLeft
let zoom = mapView.camera.zoom
let lat = Double(fabs(Float(topLeft.latitude - bottomLeft.latitude)))
let metersPerPixel: Double = Double((cos(lat * .pi / 180) * 2 * .pi) * 6378137 / Double((256 * pow(2, zoom))))