mapbox - 在特定位置点上添加图像

问题描述

我现在正在使用 mapBox 插件绘制地图,地图显示正确,现在我想在此地图上添加具有特定位置点的图像。

示例:在某些区域我想在该区域上添加图像

这是真实的图像:

enter image description here

但是当我放置图像时,我认为图像已旋转。

非常感谢您的帮助。

注意:我正在使用 angular 11

enter image description here

解决方法

您能分享一下您是如何将图片添加到地图的吗?如果您将其添加为图标,则可以使用 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>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...