使用mapbox绘制一个五角星
时间: 2023-07-20 15:45:41 浏览: 138
好的,以下是使用Mapbox绘制一个五角星的示例代码:
首先,你需要在Mapbox官网注册并创建一个账户,然后创建一个新的地图项目,并获取你的访问令牌(access token)。
然后,你需要引入Mapbox的JavaScript库,并在HTML中添加一个`<div>`元素作为地图容器。接着,你可以使用以下代码创建一个地图,并添加一个五角星:
```html
<!DOCTYPE html>
<html>
<head>
<title>Mapbox - First Map</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src='https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.css' rel='stylesheet' />
<style>
#map {
height: 400px;
}
</style>
</head>
<body>
<div id='map'></div>
<script>
// 初始化地图,设置中心点和缩放级别
mapboxgl.accessToken = 'YOUR_ACCESS_TOKEN';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [-122.4194, 37.7749],
zoom: 12
});
// 添加一个五角星
var star = turf.polygon([[
[-122.4224, 37.7692],
[-122.4221, 37.7671],
[-122.4243, 37.7684],
[-122.4266, 37.7671],
[-122.4263, 37.7692],
[-122.4282, 37.7701],
[-122.4263, 37.7710],
[-122.4266, 37.7731],
[-122.4243, 37.7718],
[-122.4221, 37.7731],
[-122.4224, 37.7710],
[-122.4204, 37.7701],
[-122.4224, 37.7692]
]]);
map.on('load', function() {
map.addLayer({
'id': 'star',
'type': 'fill',
'source': {
'type': 'geojson',
'data': star
},
'paint': {
'fill-color': '#f00',
'fill-opacity': 0.4
}
});
});
</script>
</body>
</html>
```
在这个示例代码中,我们首先引入了Mapbox的JavaScript库,并在HTML中添加了一个`<div>`元素作为地图容器。然后,我们使用`mapboxgl.Map`函数创建了一个地图,并设置了中心点和缩放级别。接着,我们使用Turf.js创建了一个五角星,其坐标点是按照顺序连线形成的。在地图加载完成后,使用`map.addLayer`函数将其添加到地图上。
你需要将代码中的`YOUR_ACCESS_TOKEN`替换为你自己的访问令牌。运行代码后,你应该能够在地图上看到一个五角星。
阅读全文