OpenLayers开发:弹出框

地图应用的一个重要特征就是它能够显示地理要素(对应于点、线、面等)的信息。通常的做法是点击某个要素的同时,获取该要素的相关信息,然后以弹出框的形式展现信息。下面以上一节的地标为例,点击地标的时候,打开弹出框(popup),显示地标的信息。

1. 创建HTML文件,引入OpenLayers开发包,插入地图div元素:

2. 创建地图实例对象,添加基础图层和相应控件。

3. 创建地标图层,并添加一个地标,为该地标注册一个click事件,在相应click事件的方法中打开弹出框。

//定义图标大小

var size = newOpenLayers.Size(44, 40);

//定义图标偏移

var offset = newOpenLayers.Pixel(-(size.w / 2), -size.h);

//定义图标

var icon = newOpenLayers.Icon(‘images/marker-gold.png’, size, offset);

//创建地标

var marker = new OpenLayers.Marker(newOpenLayers.LonLat(116.39, 39.91), icon);

 

//弹出框内容

var content =”<div><strong>This is apopup.</strong></div>”;

//为该地标注册click事件

marker.events.registerPriority(“click”,null, function(evt) {

//创建弹出框,并设置弹出框属性

varcurrentPopup = new OpenLayers.Popup.FramedCloud(

null,

newOpenLayers.LonLat(116.39, 39.91),

null,

content,

null,

false,

null);

currentPopup.panMapIfOutOfView= true;

currentPopup.minSize= new OpenLayers.Size(300, 200);

 

//添加弹出框至地图

map.addPopup(currentPopup);

});

 

//将创建的地标添加到地标图层

markers.addMarker(marker);

 

运行结果如下所示:


转载自:https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/46878485.jpg

You may also like...