我需要将纬度经度值转换为像素位置,并执行相反的操作 . 我发现很多解决方案来自lat / lng-> pixel,但反过来找不到任何东西 .
几个笔记:
-
Map 是固定大小,没有缩放,没有拼贴 .
-
我不需要任何超级准确的东西,它并不重要 .
-
优选墨卡托投影,但不是必需的 . 我实际上并没有显示结果 . (任何2D投影)
-
我可以't rely on any web based API' s,即:没有谷歌 Map
几乎任何编程语言的解决方案都可以,只要它不依赖于任何特定于平台的API .
这是从lat / lng->像素转到的示例:
var y = Math.round(((-1 * lat) + 90) * (this.MAP_HEIGHT / 180));
var x = Math.round((lng + 180) * (this.MAP_WIDTH / 360));
1 回答
使用一些代数,我出来了:
因为它是在我的头脑中完成的,所以对数学不完全自信,但那些应该有用,只要确保先测试它们 .