我想在向量图层中添加要素,然后点击该要素以显示有关它的信息。任何人都可以指导我完成这个。
答案 0 :(得分:1)
您可以显示弹出窗口以显示信息。
设置属性说“' name'其中包含有关您的功能的信息,如下所示,
var feature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(specify your points here),
{some:'data'},
{externalGraphic: 'image for your feature',
graphicHeight: 21, graphicWidth: 16});
feature.attributes = {
name:"My feature info"};
创建功能后,将其添加到矢量图层并按如下方式设置控件
Control = new OpenLayers.Control.SelectFeature(myvectorLayer,
{
onSelect: onFeatureSelect,
onUnselect: onFeatureUnselect
});
现在定义你的onFeatureSelect函数
function onFeatureSelect(feature)
{
var popup = new OpenLayers.Popup.FramedCloud("MyPopUp",
feature.geometry.getBounds().getCenterLonLat(),
null,feature.attributes.name, null, true, onPopupClose);
popup.panMapIfOutOfView = true;
popup.autoSize = true;
feature.popup = popup;
map.addPopup(popup);
}
这段代码" feature.attributes.name"会显示" name"中出现的任何内容。您的功能的属性作为弹出窗口的主体。您甚至可以使用包含img标签的html标签组合在功能中定义您的名称属性。