/ / Извършване на контрол на слоевете с Mapbox по подразбиране "Off" - javascript, leaflet, mapbox

Извършване на управление на слоя на листовките с Mapbox по подразбиране "Off" - javascript, leaflet, mapbox

Ние внедрихме контрол на слоевете, подобно на примера на Mapbox по-долу в нашето приложение. Работи чудесно, но бихме искали някои от слоевете по подразбиране да са били изключени. Някаква помощ?

Ето нашия код:

    function displayLayerMaps(init_lat, init_lon, addr, parcel_data) {

//$("#layer-map").html("");
//$("#layer_map_ui").html("");
var $layers = $("#layer_map_ui").empty();

if (layer_map) {
layer_map.remove();
}

layer_map = L.mapbox.map("layer-map", "dirturban.k6hmjki6").setView([init_lat, init_lon], 22);
layer_map.scrollWheelZoom.disable();

//addLayer(L.mapbox.tileLayer("dirturban.7d1a3087"), "Parcels", 7, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.84de85b4"), "Satellite View", 1, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.460b53c7"), "Detailed Zoning", 2, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.7adcb589"), "Incentive Zoning", 3, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.c05e9c5a"), "Urban Village", 4, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.b92c50a4"), "Pavement Edge", 5, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.6fa753d7"), "Park Boundaries", 6, $layers, layer_map);
addLayer(L.mapbox.tileLayer("dirturban.e2744409"), "City Defined Trees", 7, $layers, layer_map);
// and parcels

addMarker(layer_map,init_lat,init_lon, addr, "small", "#cc0000");

И рендериран, изглежда така:

http://i.imgur.com/PiEP88v.jpg

Благодаря ти,

стив

Отговори:

0 за отговор № 1

Просто създайте инстанция от L.mapbox.map и употреба null като mapid параметър:

L.mapbox.accessToken = "pk.eyJ1IjoicGF1bC12ZXJob2V2ZW4iLCJhIjoiZ1BtMWhPSSJ9.wQGnLyl1DiuIQuS0U_PtiQ";

var map = L.mapbox.map("mapbox", null, {
"center": [0, 0],
"zoom": 0
});

След това създайте копия на картите, от които се нуждаете, и ги добавете към своя контрол, без да извикате .addTo метод върху тях:

var layers = {
Streets: L.mapbox.tileLayer("examples.map-i87786ca"),
Outdoors: L.mapbox.tileLayer("examples.ik7djhcc"),
Satellite: L.mapbox.tileLayer("examples.map-igb471ik")
}

L.control.layers(layers).addTo(map);

Работен пример за Plunker: http://plnkr.co/edit/vGplMcA7bYBFeCXigUsj?p=preview

Кодекс, до голяма степен взет от: https://www.mapbox.com/mapbox.js/example/v1.0.0/toggle-baslayers/