2017-10-04 94 views
0

將OpenStreetMap中的區域轉換爲一個數組,其中包含要在瀏覽器中繪製SVG的所有區域的座標。在svg上繪製OpenStreetMap項目

[ 
    "48.2290963 16.3522533", 
    "48.2294087 16.3521388", 
    "48.2294249 16.3525140", 
    "48.2297088 16.3523572", 
    "48.2298889 16.3523674", 
    "48.2299063 16.3528332", 
    "48.2293137 16.3529256", 
    "48.2293106 16.3525268", 
    "48.2291061 16.3525292", 
    "48.2291009 16.3523838", 
    "48.2290963 16.3522533" 
] 

該數組包含的區域的所有頂點(每個子陣列的第一個元素是x座標,第二個是y)的。

如果我生成<polygons><svg>其中points=""屬性充滿了陣列的上述值,沒有什麼是可見的,這是合乎邏輯:

的數字是非常高的,僅在過去的小數位數不同。

爲了呈現可見的,比例合適的區域,我將不得不去掉地圖數據兩側的「空行程」。

我該怎麼做?

回答

0

有許多不同的選項:

  • 使用viewBox屬性svg元件,例如在viewBox="48.229 16.352 0.001 0.001"(注:Safari瀏覽器似乎有一點問題的非常小的寬度,如這些)

  • 使用transform用適當的translatescale

  • 生成多邊形轉換之前的座標。 -*應該足夠了。