我是mapbox的新手,对使用地图没有那么有经验,我正试图从我拥有的坐标列表中绘制一个多边形。到目前为止,这是我的代码;
const accessToken = <myTokenHere>;
const center = [36.813288, -1.2813976];
const mycords = [
[36.88888, -1.3008283333333335 ],
[ 36.88977666666666,-1.30097 ],
[36.88977666666666, -1.30097],
[36.88977666666666, -1.30097 ],
//...
];
mapboxgl.accessToken = accessToken;
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center,
zoom: 7
});
map.on('load', () => {
map.addLayer({
'id': 'vendors',
'type': 'fill',
'source': {
'type': 'geojson',
'data': {
'type': 'Feature',
'geometry': {
'type': 'Polygon',
'coordinates': [mycords]
}
}
},
'layout': {},
'paint': {
'fill-color': '#181A4A',
'fill-opacity': 0.6
}
});
});
我想我需要得到&#34; edge&#34;这样我就可以将这些坐标传递给图层。我的问题是如何实现这一目标?我已经检查了mapboxes API documentation,但我还没有设法遇到这样做的方法。
答案 0 :(得分:2)
按照设计,Mapbox GL不提供许多数据处理工具。为此,我们建议您使用Turf。我很难确切地说出你已经得到了什么以及你正在尝试做什么,但看起来下面的方法之一可能是你正在寻找的: