我想在地图上显示一个物理边界框。假设我有如下四个示例点:
var southWest = new mapboxgl.LngLat(-73.9876, 40.7661);
var northWest = new mapboxgl.LngLat(-73.9397, 41.8002);
var northEast = new mapboxgl.LngLat(-73.9397, 40.8002);
var southEast = new mapboxgl.LngLat(-73.9876, 39.8002);
我知道有一个类似下面的方法:
var boundingBox = new mapboxgl.LngLatBounds(southWest, northEast);
然而,我想要一个框来说明所有4个坐标。有什么好的方法吗?我希望这个框显示在我现有的地图上,这是一个React/JS应用程序的一部分。
明白了!
var northEast = [131.308594, 46.195042];
var southEast = [117.597656, 8.233237];
var southWest = [79.101563, 32.842674];
var northWest = [86.847656, 44.715514];
map.addSource('route', {
'type': 'geojson',
'data': {
'type': 'Feature',
'properties': {},
'geometry': {
'type': 'LineString',
'coordinates': [
northEast, southEast, southWest, northWest, northEast
]
}
}
});
map.addLayer({
'id': 'route',
'type': 'line',
'source': 'route',
'layout': {
'line-join': 'round',
'line-cap': 'round'
},
'paint': {
'line-color': '#ff0000',
'line-width': 5
}
});