在鼠标单击时添加标记并删除打开图层中现有的标记
Add a marker on mouse click and remove the existing on in openlayers?
我正在使用Openlayers map。我想要一个功能,当用户点击地图时,应该创建标记,但同时应该删除或删除地图上已有的现有标记,只有最新的标记应该可见。
var markers = new OpenLayers.Layer.Markers( "Markers" );
markers.id = "Markers";
me.OpenLayers.addLayer(markers);
/*myMarker = new OpenLayers.Marker(new OpenLayers.Marker( 56.512438257836,27.335700987698 ));
markers.addMarker(myMarker);*/
var size = new OpenLayers.Size(30,30);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png',size,offset);
//map.setCenter (lonLat, zoom);
me.OpenLayers.events.register("click", kijs_map_container, function(evt) {
var lonlat = me.OpenLayers.getLonLatFromViewPortPx(evt.xy).transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
$("#edit-field-jena-seta-map-openlayers-wkt").val('GEOMETRYCOLLECTION(POINT('+lonlat.lat+' '+lonlat.lon+'))');
var pos = me.OpenLayers.getLonLatFromPixel(evt.xy);
alert(baltic_long);
var marker = new OpenLayers.Marker(new OpenLayers.LonLat(baltic_lat, baltic_long),icon);
markers.addMarker(marker);
marker.events.register("click", marker, function(e){
});
//updateMaker(myMarker, pos);
});
在创建和添加新标记之前删除图层上的所有标记:
markers.clearMarkers();
markers.addMarker(marker);
有关更多详细信息,请参阅清除标记。
当您将var marker
并初始化图标放置在me.OpenLayers.events.register();
范围之外时,它可能会在您再次单击新标记的那一刻重新启动。
var marker;
icon = new OpenLayers.Icon( ... );
me.OpenLayers.events.register("click", kijs_map_container, function(evt) {
var pos = me.OpenLayers.getLonLatFromPixel(evt.xy);
marker = new OpenLayers.Marker(pos, icon);
markers.addMarker(marker);
});
至少我还没有在这里测试过这个特定的例子,但这是我使用地图编辑器的经验。
相关文章:
- 当链接单击-jQuery时,第二层下拉列表将隐藏
- d3.js条形图未根据单击事件进行更新
- 使用共享工具提示时,单击Highcharts柱形图会返回不正确的序列索引
- 传单问题:使折线的图层组不可单击
- 谷歌地图区域中的自定义叠加层单击然后放大
- 在鼠标单击时添加标记并删除打开图层中现有的标记
- 单击另一个用于显示/隐藏图层的按钮时,在Adobe PDF中隐藏/显示按钮的代码是什么
- 高图表没有对条形图/列单击进行深入分析
- 检测鼠标悬停/鼠标单击,无论 Z 顺序/图层级别如何
- 如何仅针对单击的图层触发单击事件,而不为其父层触发单击事件
- 如何使用 OpenLayers 在地图顶部创建可单击的格网图层
- 获取已在 OpenLayers 3 中单击的图层的特征属性
- 保留 Google 地图在复选框单击时缩放到 kml 图层
- 高图表图选项单击事件仅在鼠标停留在块中时触发一次
- 单击地图(GeoServer 图层)时会显示多个信息框
- 图层二Canvas'在彼此的顶部+单击事件
- 不能给高图中单击的不同条形图项提供不同的值
- 在具有多个系列的高图上单击事件
- 当图层控件移出贴图元素时,不会发出传单贴图单击事件
- 在高图中单击系列时绘制垂直线