Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Mapbox将传单图层控件设为默认“关闭”_Javascript_Leaflet_Mapbox - Fatal编程技术网

Javascript 使用Mapbox将传单图层控件设为默认“关闭”

Javascript 使用Mapbox将传单图层控件设为默认“关闭”,javascript,leaflet,mapbox,Javascript,Leaflet,Mapbox,我们已经在我们的应用程序上实现了一个层控件,就像下面的Mapbox示例一样。它工作得很好,但我们希望一些图层默认为关闭状态。有什么帮助吗 这是我们的代码: function displayLayerMaps(init_lat, init_lon, addr, parcel_data) { //$("#layer-map").html(""); //$("#layer_map_ui").html(""); var $layers = $('#layer_map_u

我们已经在我们的应用程序上实现了一个层控件,就像下面的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");
渲染后,它看起来像这样:

谢谢,


Steve

只需创建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的工作示例:


代码主要取自:

我为什么需要它?我给了你一个完整的工作示例,并解释了它是如何工作的。有什么不清楚的吗?