openlayer简单实用(1)

1,350 阅读1分钟

一、前言

最近由于项目开发需要,使用了openlayer来进行GIS地图的简单开发工作。本文将介绍使用openlayer实现以下功能:

  • 地图底图渲染
  • 展示聚合图层
  • 在地图上点击点位图标,弹窗显示信息
  • 点击点位信息列表,地图上联动

二、具体实现

1、地图底图渲染

(1)简单实用

一个map里必不可少的参数是target--dom节点(DOM的ID值),view视图, layers图层

    var map = new ol.Map({
       target: 'map',
       layers: [
          new ol.layer.Tile({
            source: new ol.source.OSM()
          })
        ],
        view: new ol.View({
          center: ol.proj.fromLonLat([37.41, 8.82]),
          zoom: 4
        })
    });
 

(2)静态地图

强大的openlayer除了支持上面例子那样,通过加载地图服务来渲染地图外,还支持将 以一张静态图片为地图底图。 实现的关键API是: ol.source.ImageStatic ,图片无论是本地地图还是url地址,亦或是 base64,使用都是一样的。

2、展示聚合图层

渲染聚合图层

聚合图层添加要素 features: 使用ol.Feature 生成多个要素,每个要素使用 ol.geom.Point 生成相应的位置信息

3、在地图上点击点位图标,弹窗显示信息

给map对象上绑定 click事件,通过 forEachFeatureAtPixel 获取点击处的feature

4、 点击点位信息列表,地图联动

this.map.getView().setCenter([parseFloat(lng), parseFloat(lat)]);
this.map.getView().setZoom(MAX_ZOOM);