OpenLayers3

在OpenLayers3中有两种加载图层的方法:ol.layer.Tile()和ol.layer.Vector();ol.layer.Tile()是加载瓦片地图(底图)的,ol.layer.Vector()是加载图层的(覆盖物)等。

OpenLayers3里面的常用方法有singleclick(左键点击)dblclick(右键点击),pointermove(地图鼠标移动),moveend(地图移动),click(地图点击),还有一种是ol.getView()层的事件change:resolution(地图缩放事件);

事件的自定义是 需要用 dispatchEvent来触发自定义事件;

取得所有Feature的方法是,某一个layer.getSource().getFeatures();

取得某一个值来选中Feature的方法是for循环

$(".MapSearchBtn").click(function(){

var Search=$(".chuanbozhuangtai").val();

var Features=chuanLayer.getSource().getFeatures();

for(var j=0;j<Features.length;j++){

if(Features[j].get("id")==Search){

olMap.getView().setCenter(Features[j].get("zuobiao"))

$("#popupMap").fadeIn()

document.getElementById("popup-content").innerHTML = Features[j].get("id") + ": " + Features[j].get("name");

PopupMap.setPosition(Features[j].get("zuobiao"))

}

}

或者用另一种

var feature = olMap.forEachFeatureAtPixel(pixel, function (feature) { return feature; });

if (feature) {

if(feature.get("id")&&feature.get("name")){

$("#popupMap").fadeIn()

document.getElementById("popup-content").innerHTML = feature.get("id") + ": " + feature.get("name");

}

PopupMap.setPosition(evt.coordinate)

} else {

document.getElementById("popup-content").innerHTML = "";

$("#popupMap").hide()

}

增加覆盖物的方法还有一种是用html节点;var sb=new ol.Overlay({

element:document.getElementById("ahcor_overlay")

});

sb.setPosition([213,23])

 olMap.addOverlay(sb);