我有一位使用MapBox.js(v1.6.0)的學生顯示他們在TileMill中製作的某些圖塊。這些圖塊使用TileMill提供的工具提示功能(documentation)添加一些交互功能。我的學生還使用MapBox Streets圖層來提供道路等的詳細視圖。問題是,當我在地圖中同時使用這兩個圖層時,來自圖塊的交互不起作用。當與MapBox.js獨立添加時,TileMill交互式圖層不起作用
這裏是不起作用的代碼:
var map = L.mapbox.map("map");
var tilesOSM = L.mapbox.tileLayer("username.id1");
var tilesTileMill = L.mapbox.tileLayer("username.id2");
map
.addLayer(tilesOSM)
.addLayer(tilesTileMill)
.setView(L.latLng(61, -160.5), 4)
.setMaxBounds(L.latLngBounds(L.latLng(50,-180), L.latLng(72,-129)));
我們已經嘗試過這種代碼的多次迭代,但是我們可以讓它開始工作的唯一方法是通過使用L.mapbox.map( 3)方法,然後使用L.map.addLayer()函數的_ insertAtTheBottom_參數。
var map = L.mapbox.map("map", "username.id2", {});
map
.addLayer(L.mapbox.tileLayer("username.id1"), true)
.setView(L.latLng(61, -160.5), 4)
.setMaxBounds(L.latLngBounds(L.latLng(50,-180), L.latLng(72,-129)));
我的問題是三倍。
- 這兩個實現有什麼區別?
- 爲什麼使用L.mapbox.tileLayer()創建的tileLayer與使用L.mapbox.map(3)創建並自動添加的tileLayer不同?
- 是否有計劃在API的未來更改中解決此不連續問題,或是否會支持在TileMill 2中刪除交互式切片?
感謝您迴應和答疑。在TileMill或MapBox.js參考的任何地方是否使用GridLayers來進行這種交互?我到處看到我認爲是合理的,沒有出現。 – RyanMullins
是的,[gridLayers]的文檔(https://www.mapbox.com/mapbox.js/api/v1.6.1/l-mapbox-gridlayer/),[gridControls](https://www.mapbox.com /mapbox.js/api/v1.6.1/l-mapbox-gridcontrol/)。 – tmcw