使用openlayers在网页中展示地理信息
栏目: JavaScript · 发布时间: 6年前
内容简介:这里涉及到几个基础的概念,View, Layer, Control, Interaction, Overlay, Source, Projection 这些对象一起构成了MapView管理Map的视图参数,缩放zoom, 偏转rotation, 分辨率resolution, 视图中心center等,也可以对这些参数设置范围,从而实现对视图显示的控制Layer是Map显示的基本单位,layer从自身的Source获取数据病将其显示在Map上,一个Map可以包含多个Layer,可以将这些Layer的数据同时显示
这里涉及到几个基础的概念,View, Layer, Control, Interaction, Overlay, Source, Projection 这些对象一起构成了Map
1.1 View
View管理Map的视图参数,缩放zoom, 偏转rotation, 分辨率resolution, 视图中心center等,也可以对这些参数设置范围,从而实现对视图显示的控制
1.2 Layer
Layer是Map显示的基本单位,layer从自身的Source获取数据病将其显示在Map上,一个Map可以包含多个Layer,可以将这些Layer的数据同时显示在Map上,从而实现一个各种地理信息的显示
上层的Layer会遮盖下层的Layer
-
Source
指定layer的数据来源
1.3 Control
openlayers自身包含了一些内置的Map控件,像全屏,定位,旋转的按钮,通过控件可以实现以Map的交互,也可以自定义实现需要功能的控件,实现业务需要的交互效果
1.4 Interaction
openlayers默认包含了拖拽,点击等常用的交互行为,如果要定制复杂的交互,可以自定义并注册到Map中就可以实现
1.5 Overlay
高组件可以将dom节点与地图坐标系位置绑定,将dom显示在绑定的地理坐标,该dom将被openlayer控制显示
2. 实践
实现一个简单的Map
// 创建贴图层显示底图,这里使用本地的WMS服务
var imageLayer = new ol.layer.Image({
source: new ol.source.ImageWMS({
params: {
LAYERS: '_all_', // 图层名称
FORMAT: 'image/png', // 图片格式
VERSION: '1.1.1' // 服务版本号
},
projection: 'EPSG3857', //投影坐标系
url: URL // WMS地址
});
});
// 创建一个矢量图层,显示一些矢量数据
var vectorLayer = new ol.source.Vector({
format: new ol.format.GeoJSON(),
style: styleInstance //设置矢量数据的显示样式
});
// 创建View,设置视图
var view = new ol.View({
center: [75, 30], //当前投影坐标系下中心点的坐标
zoom: 15 //缩放等级
});
var map = new ol.Map({
target: 'map_container', // 将地图挂在到id为map_container的dom上
view: view,
layers: [// 图层顺序与列表顺序相反
imageLayer,
vectorLayer
]
});复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 《ArcGIS 地理信息系统教程》概念笔记
- 西子湖畔话创新,共谋地理信息产业新未来
- GPU云驱动GIS技术变革 支撑测绘地理信息行业升级
- ZETTAKIT GPU云加速陕西测绘地理信息局GIS升级
- 探访中海潮科技展台:自研次时代三维海洋地理信息平台
- 云资讯 GPU云驱动GIS技术变革,支撑测绘地理信息行业升级
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ACM/ICPC程序设计与分析
沈云付 / 清华大学 / 2010-7 / 39.50元
《ACM/ICPC程序设计与分析(C++实现)》介绍ACM国际大学生程序设计竞赛概况及程序设计基础,系统介绍数论、组合数学、动态规划、计算几何、搜索、图论和网络流等专题的典型算法,挑选历年竞赛中许多有代表性的竞赛题作为例题进行分析,便于学生编程时模仿学习。每章的例题和习题都配有输入输出样例,方便学生在编程时测试与调试程序。《ACM/ICPC程序设计与分析(C++实现)》以C++为程序设计语言,以提......一起来看看 《ACM/ICPC程序设计与分析》 这本书的介绍吧!