我需要将纬度经度值转换为像素位置,并执行相反的操作。我发现很多解决方案来自lat / lng->像素,但反过来找不到任何东西。
几点说明:
几乎任何编程语言的解决方案都可以,只要它不依赖于任何特定于平台的API。
这是从lat / lng->像素开始的示例:
var y = Math.round(((-1 * lat) + 90) * (this.MAP_HEIGHT / 180));
var x = Math.round((lng + 180) * (this.MAP_WIDTH / 360));
答案 0 :(得分:5)
var y = Math.round(((-1 * lat) + 90) * (this.MAP_HEIGHT / 180));
var x = Math.round((lng + 180) * (this.MAP_WIDTH / 360));
使用一些代数,我出来了:
var lat=(y/(this.MAP_HEIGHT/180)-90)/-1
var lng = x/(this.MAP_WIDTH/360)-180
对于那个数学并不完全自信,因为它是在我的头脑中完成的,但那些应该有用,只要确保先测试它们。