android 原生开发 3d地图 下载_openlayers4 入门开发系列之地图导航控件篇(附源码下载)...

60a0f09b5f5ca5f37817e26e0a829ea7.png

前言

openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子,这个也是学习 openlayers4 的好素材。
openlayers4 入门开发系列的地图服务基于 Geoserver 发布的,关于 Geoserver 方面操作的博客,可以参考以下几篇文章:
geoserver 安装部署步骤
geoserver 发布地图服务 WMS
geoserver 发布地图服务 WMTS
geoserver 集成以及部署 arcgis server 瓦片数据

内容概览

1.基于 openlayers4 实现地图导航控件
2.源代码 demo 下载

关于自定义的地图导航控件 Navigation 样式风格思路,可以参照我之前写 arcgis api 3.x for js 系列文章的此篇,这里不再描述:

arcgis api 3.x for js 共享干货系列之二自定义 Navigation 控件样式风格(附源码下载) - 小专栏​xiaozhuanlan.com
b9fdf35640867ba7645eceb9d386d698.png

本篇的重点内容是利用 openlayers4 来实现了地图导航控件功能,效果图如下:

ad1a0d82e0740d32a322ded5508f68b4.png

实现思路

  • 创建一个地图控件基类,除了本篇的地图导航控件继承这个地图控件基类之外,后续的其他地图控件也是继承该基类
bxmap.control = bxmap.control || {}; 
 
/*----------默认交互工具类{bxmap.control.Defaults}---------*/ 
/** 
 * @constructor 
 * @classdesc 默认控件类,从默认配置bxmap.config.ToolConfig中读取控件信息,设置控件id和visible 
 * @extends {ol.Object} 
 * @example <caption> 创建默认控件 </caption> 
 * var controlCreator = new bxmap.control.Defaults(); 
 * //地图滑动卷帘控件 
 * controlCreator.createSwipeControl(bmap); 
 * //创建地图导航控件 
 * controlCreator.createNavigation(bmap); 
 * //显示鹰眼 
 * controlCreator.createOverviewMap(bmap); 
 * //创建底部背景条 
 * controlCreator.createBottomBackgroudControl(bmap); 
 * //显示地图比例尺 
 * controlCreator.createScaleLine(bmap); 
 * //显示当前坐标 
 * controlCreator.createMousePosition(bmap); 
 * //显示Toolbox工具箱 
 * controlCreator.createToolboxControl(bmap); 
 */ 
bxmap.control.Defaults = function (){ 
    this.reader = new bxmap.reader.ToolConfigReader(bxmap.config.ToolConfig); 
    ol.Object.call(this); 
} 
ol.inherits(bxmap.control.Defaults, ol.Object); 
  • 地图控件基类中创建地图导航控件函数
/** 
 * @description 创建导航器控件 
 * @param {bxmap.Map} bmap 地图对象 
 * @param {String} target DOM指定承载全屏按钮的Element id 
 * @returns {bxmap.control.Navigation} 
 */ 
bxmap.control.Defaults.prototype.createNavigation = function(bmap, target){ 
 var ctl = new bxmap.control.Navigation({ 
        map: bmap, 
        target: target 
    }); 
 //设置控件id 
    ctl.set(bxmap.INDEX_CONTROL_ID, 1); 
    this.updateVisibility(ctl); 
 
 return ctl; 
} 
  • 地图导航控件类

更多的详情见

openlayers4 入门开发系列之地图导航控件篇(附源码下载) - 小专栏​xiaozhuanlan.com
c91353cd3114b4a78d852628b2f3e8d9.png

文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波

GIS之家店铺:GIS之家
GIS之家源码咨询:GIS之家webgis入门开发系列demo源代码咨询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值