【问题标题】:Mapbox GL JS getBounds undefinedMapbox GL JS getBounds 未定义
【发布时间】:2020-02-09 20:34:01
【问题描述】:

我一直在尝试使用 Mapbox GL JS 绘制多个标记并将地图 fitBounds 放在这些标记上。标记在地图上绘制得很好,我只是在 fitBounds 部分遇到问题。

我不断收到此控制台错误:

Uncaught TypeError: Cannot read property 'lng' of undefined
lng_lat_bounds.js:154 

这是我绘制标记的 JS。

var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/streets-v10',
    center: [-96.2, 37.8],
    zoom: 9
});

// add markers to map
var bounds = new mapboxgl.LngLatBounds();
for ( var i=0; i < markersArray.length; ++i ){

    markersArray[i].features.forEach(function(marker) {

        // create a HTML element for each feature
        var el = document.createElement('div');
        el.className = 'marker';

        // make a marker for each feature and add it to the map
        new mapboxgl.Marker(el)
            .setLngLat(marker.geometry.coordinates)
            .setPopup(new mapboxgl.Popup({offset: 25}) // add popups
                .setHTML('<h3>' + marker.properties.title + '</h3><p>' + marker.properties.description + '</p>'))
            .addTo(map);
    });
}
map.fitBounds(bounds);

【问题讨论】:

    标签: mapbox mapbox-gl-js mapbox-gl


    【解决方案1】:

    您需要使用bounds.extend 实际扩展每个标记 lng,lat 的边界。

    【讨论】:

      猜你喜欢
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 2017-03-26
      • 2017-11-07
      相关资源
      最近更新 更多