【问题标题】:Get X,Y from LAT,LNG custom svg map从 LAT、LNG 自定义 svg 地图获取 X、Y
【发布时间】:2014-01-16 05:01:18
【问题描述】:

大家好,我正在使用 raphael.js 开发地图,就像他们在这里所做的那样:http://raphaeljs.com/world/

问题是我使用的是自定义 svg 世界地图,所以它们的函数 getXY() 显然不会返回正确的 x,y 的 lat,lng。

如果知道地图宽度/高度以及与某个点的关系及其坐标 (x:1104.73=lng:42.998604)(y:559.25=lat:9.424553),我如何计算给定 lat/lng 的 x 和 y。

他们使用这个代码:

cx: lon * 2.6938 + 465.4

y: 纬度 * -2.6938 + 227.066

但我不知道 2.6938 和其他两个数字是什么。 我在这里也使用了这个数学:

int x = (int) ((MAP_WIDTH/360.0) * (180 + lon));

int y = (int) ((MAP_HEIGHT/180.0) * (90 - lat));

但我不能让它工作,有人可以帮助我吗?

【问题讨论】:

    标签: javascript svg raphael geo


    【解决方案1】:

    要使用的公式取决于地图使用的投影(Equirectangular、Robinson、Miller、Lambert、Mercator 或其他投影)。更多关于这里的预测http://en.wikipedia.org/wiki/Map_projection

    如果您不知道“自定义 svg 世界地图”的投影是什么,您将找不到任何帮助

    干杯

    【讨论】:

    • 投影是墨卡托,但无论如何我发现没有办法这样做。所以我开始使用 D3 和 topojson 为你提供正确的地图大小等。感谢您的回答
    • @Dtnand 你能告诉我你是怎么做到的吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2016-05-10
    • 1970-01-01
    相关资源
    最近更新 更多