【问题标题】:Converting Latitude, Longitude in Decimals to the pixels for plotting markers on a plane svg image将十进制的纬度、经度转换为像素,以便在平面 svg 图像上绘制标记
【发布时间】:2016-12-04 01:33:55
【问题描述】:

我可以看到很多关于这个问题的答案,但我似乎并没有明确地遵循其中的大部分。

我一直在尝试创建一个交互式世界地图,其中包含基于给定纬度和经度的动态标记。

我尝试了网上找到的各种方程式,但无法得到更接近的结果。

到目前为止我尝试过的事情,

var y = Math.round(((-1 * lat) + 90) * (containerHeight / 180));
var x = Math.round((lon + 180) * (containerWidth / 360));

x = R * Math.cos(lat) * Math.cos(lon)
y = R * Math.cos(lat) * Math.sin(lon)

var x = 1.9928145063077821*1000000 - 14017.262662576404*lat + 19202.720184031*lon;
var y = 334427.99241686985 - 33618.80202858345*lat - 14069.747257820272*lon;

有没有更好的实现相同的方法?墨卡托、方位角、圆柱?

【问题讨论】:

    标签: javascript dictionary maps interactive


    【解决方案1】:

    您可以搜索“Web Mercator”。谷歌,必应,OpenStreetMap 使用这个和它的类型现在网络标准。我没有关于计算方法的经验和足够的信息,但维基百科上给出的公式可能会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 2013-09-21
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多