我想知道可以用来从 4326 转换为 3857 的 Swift 库或方法。我已经引用了一些库,例如Proj4Swift和Proj.4,但无济于事。第一个链接没有可用的下载,第二个链接没有文档。有人会建议我可以用来在 Swift 中实现这一目标的库或方法吗?
我还提到了其他类似的问题,但找不到合适的解决方案。
好吧,由于我找不到明确而直接的答案,所以我用 Swift 编写了代码,参考了以下内容和this。如下。
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 中的坐标。