2017-02-20 97 views
0

我有一個約30,000多邊形的GeoJSON數據集,每個數據集都附有一個名稱和地址。我已經將這個上傳到Mapbox作爲一個tileset。Mapbox:按屬性框添加搜索?

是否可以使用Mapbox GL JS創建'按屬性搜索'框,用戶可以在其中開始輸入,並且搜索框會根據用戶的姓名和地址提供結果?沿this Mango example行:

enter image description here

這是可能的Mapbox?我可以通過對瓦片集運行SELECT * FROM tiles WHERE name LIKE '%venet%' or address LIKE '%venet%'之類的東西,然後將結果連接到我自己的下拉列表中,但我不知道Mapbox JS是否支持這種Ajax查詢。或者Mapbox JS是否提供了一個用於執行此操作的小部件。

我已經在Carto.JS之前使用自定義代碼和SQL LIKE查詢完成了此操作,但我不知道Mapbox是否可行。

回答

0

雖然盧卡斯是正確的,你不能這樣做與數據集你說你上傳數據爲瓷磚組

的Mapbox-GL-JS​​可以做你想做的:

返回表示指定的載體瓷磚或滿足查詢參數以GeoJSON源中的特徵GeoJSON的功能對象的數組。

它不支持部分匹配(即,%venet%),但您可能可以使用它來獲取視口中的所有功能,然後自己對其進行過濾。這裏有一個很好的例子:https://www.mapbox.com/mapbox-gl-js/example/filter-features-within-map-view/