我在尝试在我的 OpenLayer Map 小部件中实现动态标记时遇到问题。我希望在地图上"点击"放置一个标记/点。我希望标记在新位置刷新,而不是每次单击鼠标都放置新标记/点。我一直在尝试查找有关图层/矢量的一些文档,但很难理解如何刷新/替换图层......
这是我当前地图的 OL 代码,它在单击鼠标时使用纬度和经度更新两个输入:
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
],
view: new ol.View({
center: ol.proj.fromLonLat([37.41, 8.82]),
zoom: 4
})
});
map.on('click', function(evt){
var lonlat = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');
var lon = lonlat[0];
var lat = lonlat[1];
document.getElementById("latitude").value = lat;
document.getElementById("longitude").value = lon;
});
提前感谢!
如果你的标记是一个点要素,像这样的东西应该这样做
map.on('click', function(evt){
myMarker.getGeometry().setCoordinates(evt.coordinates);
});