2016-03-08 115 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這是否縮放變化也是如此,雖然,但它使用多邊形類,而不是標記畫)