mapbox-g在球上根据坐标加点
时间: 2024-03-13 16:46:27 浏览: 57
要在 Mapbox GL JS 中在球面上添加点,你需要使用 `turf.js` 库来完成。具体步骤如下:
1. 安装 `turf.js` 库。
```bash
npm install turf
```
2. 在你的代码中引入 `turf.js` 和 Mapbox GL JS 库。
```javascript
import mapboxgl from 'mapbox-gl';
import turf from '@turf/turf';
```
3. 创建一个 `FeatureCollection` 对象,并将点坐标添加到这个对象中。
```javascript
const points = [
[-122.414, 37.776],
[-122.408, 37.77],
[-122.404, 37.774]
];
const featureCollection = turf.featureCollection(points.map(point => {
return turf.point(point);
}));
```
4. 将 `FeatureCollection` 添加到 Mapbox GL JS 的地图上。
```javascript
map.on('load', function() {
map.addSource('points', {
type: 'geojson',
data: featureCollection
});
map.addLayer({
id: 'points-layer',
type: 'circle',
source: 'points',
paint: {
'circle-radius': 6,
'circle-color': '#000'
}
});
});
```
这里我们使用了 `circle` 图层来显示点,你也可以使用其他类型的图层来显示点。注意,这种方法只适用于在球面上添加点,如果你需要在平面地图上添加点,则可以直接使用 Mapbox GL JS 的 API。
阅读全文