2017-06-22 45 views
1

我已閱讀堆棧溢出的每個問題我可以找到和每個示例,我可以在網上找到添加GeoJSON矢量瓷磚到傳單地圖。不幸的是,我仍然無法繞過它,更不用說我的數據。如何將GeoJSON點添加爲Leaflet中的矢量圖塊?

我有一個GeoJSON(here)有很多點。我可以在Leaflet中將它添加到圖層中,所以我確信它是一個具有真實值的有效文件。我試過geojson-vtleaflet vector grid

GeoJSON的-VT保持返回一個錯誤:
Uncaught ReferenceError: z is not defined at <anonymous>:1:30
與此代碼:

geoJson = {data} 
var tileOptions = { 
    maxZoom: 18, 
    tolerance: 5, 
    extent: 4096, 
    buffer: 64, 
    debug: 0, 
    indexMaxZoom: 0, 
    indexMaxPoints: 100000, 
}; 
var tileIndex = geojsonvt(geoJson, tileOptions); 
var tile = tileIndex.getTile(z, x, y); 

我遇到了很多麻煩診斷是因爲沒有一個我已經找到了例子已經顯示出其數據,但也沒有引用定義z,x和y,而這些不是GeoJSON對象的必需值。我錯過了什麼?

another question of mine我瞭解到Leaflet矢量網格與GeoJSON點有差錯。我設法改變一些源代碼來解決最初的錯誤,但現在得到了1000的錯誤,如:從代碼
Error: <path> attribute d: Expected number, "MNaN,47.5aundefin…".


L.vectorGrid.slicer(geoJson).addTo(map)

如何添加GeoJSON的點作爲矢量瓷磚層到傳單地圖?有沒有人有任何簡單的例子與數據作爲參考?任何幫助或其他方向進行調查將不勝感激。

回答

0

我能夠解決我遇到的問題Leaflet.VectorGrid.Slicer

首先,我下載了Leaflet.VectorGrid.js源代碼,並更改了here(請注意,這對應於VectorGrid github site上可用的源代碼行1483至1495)的行。

然後,在排除故障後,我發現如果我在調用L.vectorGrid.slicer時添加了radius選項,GeoJSON點就被添加到地圖中。這是工作的代碼:

var layer = L.vectorGrid.slicer(geoJson, { 
    vectorTileLayerStyles: { 
     sliced: { 
      radius: 1, 
     } 
    } 
}).addTo(map); 
相關問題