问题描述
我现在正在使用 mapBox 插件绘制地图,地图显示正确,现在我想在此地图上添加具有特定位置点的图像。
示例:在某些区域我想在该区域上添加图像
但是当我放置图像时,我认为图像已旋转。
非常感谢您的帮助。
注意:我正在使用 angular 11
解决方法
您能分享一下您是如何将图片添加到地图的吗?如果您将其添加为图标,则可以使用 icon-rotate
属性像下面的示例一样旋转它。在下面的示例中,我通过 settin 'icon-rotate': 90
将猫图像旋转 90 度:
(来自https://docs.mapbox.com/mapbox-gl-js/example/add-image/)
(请在下面的代码中替换“YOUR ACCESS TOKEN”)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Add an icon to the map</title>
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<script src="https://api.mapbox.com/mapbox-gl-js/v2.0.1/mapbox-gl.js"></script>
<link href="https://api.mapbox.com/mapbox-gl-js/v2.0.1/mapbox-gl.css" rel="stylesheet" />
<style>
body { margin: 0; padding: 0; }
#map { position: absolute; top: 0; bottom: 0; width: 100%; }
</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'
});
map.on('load',function () {
map.loadImage(
'https://upload.wikimedia.org/wikipedia/commons/7/7c/201408_cat.png',function (error,image) {
if (error) throw error;
map.addImage('cat',image);
map.addSource('point',{
'type': 'geojson','data': {
'type': 'FeatureCollection','features': [
{
'type': 'Feature','geometry': {
'type': 'Point','coordinates': [0,0]
}
}
]
}
});
map.addLayer({
'id': 'points','type': 'symbol','source': 'point','layout': {
'icon-image': 'cat','icon-size': 0.25,'icon-rotate': 90
}
});
}
);
});
</script>
</body>
</html>