2016-03-08 210 views
1

在维基媒体上给出了一个像this one的svg地图,我想添加一个以纽约市为中心的圆圈(或任何给定的经度/纬度) SVG文件:将纬度/经度转换为svg地图上的点

<circle cx="X" cy="Y" r="5" /> 

当然,困难的部分是了解XY应该是什么。纽约的经度和纬度是40.7127°N,74.0059°W.有没有办法将它转换为与给定的svg文件一致的x,y坐标?该文件没有说明使用了什么投影,所以我想这只能通过猜测投影是什么来完成。

+0

你可能想看看http://kartograph.org - 如果你知道投影,这将帮助你放置点。你不知道,但你可以猜到一些常见的。 – AustinC

回答

-1

Svg circle的中心位于其视框的参考框架中,而lat,lng坐标将用于将使用此svg的标记,例如,在 https://jsfiddle.net/harshvchawla/xu50zg1q/
这段代码将设置定制SVG作为图标到Google标记:

icon : { 
    url : 'data:image/svg+xml;charset=UTF-8;base64,' + btoa(svg) 
} 

此外,下面显示了如何基于LAT来绘制SVG,使用d3.js库从JSON文件中读取数据的LNG :
http://bl.ocks.org/mbostock/899711

顺便说一句,注意,这些SVG图形不能扩展基于地图的缩放级别变化(eshapes.js这是否缩放变化也是如此,虽然,但它使用多边形类,而不是标记画)

相关问题