我设立一个Mapbox GL JS图是这样的:如何获取mapboxgl.GeoJSONSource对象的边界框?
mapboxgl.accessToken = 'pk.my_token';
var cityBoundaries = new mapboxgl.GeoJSONSource({ data: 'http://domain.com/city_name.geojson' });
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v8',
center: [cityLongitude,cityLatitude],
zoom: 13
});
然后我加载该GeoJSON的数据到地图加载这样的后:
map.on('style.load', function(){
map.addSource('city', cityBoundaries);
map.addLayer({
'id': 'city',
'type': 'line',
'source': 'city',
'paint': {
'line-color': 'blue',
'line-width': 3
}
});
});
在这一点上,我有一个地图,位于我在new mapboxgl.Map
中指定的位置,并且它位于缩放级别13.因此,只有一块GeoJSON数据在地图上可见。我想重新居中并重新缩放地图,以便可以看到整个GeoJSON数据。
map.fitBounds(featureLayer.getBounds());
的fitBounds documentation为Mapbox GL JS表明它想的范围在:
在Mapbox JS,我会由GeoJSON的数据加载到一个featureLayer
,然后将地图安装到它的界限与要这样做格式为[[minLng, minLat], [maxLng, maxLat]]
。
有没有办法确定这个GeoJSON图层的经度值的混合/最大纬度&?
此函数应该可能指定它只适用于多边形。就像你说的那样,它不适用于不具有相同结构的其他几何体,例如Point,MultiPoint和LineStrings。 – jabbermonkey