基于这篇文章将纬度/经度转换为像素坐标?,这适用于真正的墨卡托投影。
我遇到了来自openstreet map的 svg 地图的问题,它使用“ Google Mercator projection with simplification on grid(1000) ”。
我试图在我的法国地图上绘制一些城市,所有点都在这里,但不完全是它们应该在哪里看到图片
如您所见,这些城市的位置并不好(如有必要,您可以在谷歌地图上进行比较)
关于如何调整参考中对帖子的响应中提供的代码以考虑这两个不同墨卡托投影之间的差异的任何想法?
提前致谢
编辑 :
用于城市的坐标:
var cities = {
0:{
cname: 'Paris',
lat: 48.856614,
lng: 2.3522219000000177
},
1:{
cname: 'Lyon',
lat: 45.764043,
lng: 4.835658999999964
},
2:{
cname: 'Bordeaux',
lat: 44.837789,
lng: -0.5791799999999512
},
3:{
cname: 'Bastia',
lat: 42.697283,
lng: 9.450880999999981
},
4:{
cname: 'Calais',
lat: 50.95129000000001,
lng: 1.8586860000000343
},
5:{
cname: 'Menton',
lat: 43.774481,
lng: 7.497540000000072
},
6:{
cname: 'Brest',
lat: 48.390394,
lng: -4.4860760000000255
}
}; //EO cities
svg 是基于来自 openmapstreet 的 pdf 在 Inkscape 中创建的,代码有点长,我在这个小提琴中复制粘贴它(因为我没有附加 Raphel,所以不起作用) http://jsfiddle.net/ dqsH3/4/。
您可以在此处查看原始 pdf openstreetmap.fr/f/France-regions-01-01-2013-1000.pdf</p>