我想知道一个可用于将4326转换为3857的Swift库或方法。我引用了一些库,例如Proj4Swift和Proj.4,但无济于事。第一个链接没有可行的下载,第二个链接没有文档。有人会建议我可以在Swift中使用的库或方法吗?
我也提到了其他类似的问题,但找不到合适的解决方案。
嗯,由于找不到清晰直接的答案,因此我通过引用following和this在Swift中编写了代码。如下。
func getCoordinatesInEPSG3857(longitudeInEPSG4326: Double, latitudeInEPSG4326: Double) -> (Double, Double) {
let longitudeInEPSG3857 = (longitudeInEPSG4326 * 20037508.34 / 180)
let latitudeInEPSG3857 = (log(tan((90 + latitudeInEPSG4326) * Double.pi / 360)) / (Double.pi / 180)) * (20037508.34 / 180)
return (longitudeInEPSG3857, latitudeInEPSG3857)
}
在这里,您可以传递EPSG:4326中的坐标,并且该函数返回EPSG:3857中的坐标。