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