动态添加自定义标记以使用OpenLayers进行地图 [英] Adding custom markers dynamically to map using OpenLayers
本文介绍了动态添加自定义标记以使用OpenLayers进行地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想让用户在地图上添加自定义标记,并为每个标记添加描述.任何提示,任何教程的链接都将非常有用.
I would like to let users add custom markers on a map with a description for each marker. Any tips, links to any tutorials would be really useful.
推荐答案
您可以在地图上注册一个函数来单击"事件.当用户单击它时,标记会自动添加.
You can register a function to 'click' event on your map. When the user click on it, the mark is added automatically.
尝试这样的事情:
// 'map' is your map created using new OpenLayers.Map(options)
markers = new OpenLayers.Layer.Markers( "Markers" );
markers.id = "Markers";
map.addLayer(markers);
map.events.register("click", map, function(e) {
//var position = this.events.getMousePosition(e);
var position = map.getLonLatFromPixel(e.xy);
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('images/mark.png', size, offset);
var markerslayer = map.getLayer('Markers');
markerslayer.addMarker(new OpenLayers.Marker(position,icon));
});
非常简单,但我认为您可以理解它:)
Pretty simple, but I think that you can understand it :)
这篇关于动态添加自定义标记以使用OpenLayers进行地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文