我怎样才能获得优势?坐标列表中的点(最远边坐标)

时间:2017-12-08 14:19:52

标签: javascript mapbox-gl-js

我是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
    }
  }); 
});

上面的代码绘制了一个多边形,如下所示。 how the above code draws the polygon

我的目的是根据我的坐标绘制一个类似下面的多边形; What I intend to draw

我想我需要得到&#34; edge&#34;这样我就可以将这些坐标传递给图层。我的问题是如何实现这一目标?我已经检查了mapboxes API documentation,但我还没有设法遇到这样做的方法。

1 个答案:

答案 0 :(得分:2)

按照设计,Mapbox GL不提供许多数据处理工具。为此,我们建议您使用Turf。我很难确切地说出你已经得到了什么以及你正在尝试做什么,但看起来下面的方法之一可能是你正在寻找的: