基于openlayers地图框架的搭建

合集下载

OpenLayers体系结构

OpenLayers体系结构

OpenLayers体系结构由于OpenLayers是采用JavaScript实现的,不存在包的概念,但是它可以通过命名空间来实现类似包的功能。

另外,JavaScript不存在继承的感念,也不存在私有、公有、保护等概念,OpenLayers中所谓的继承其实就是将基类中的所有属性和方法复制到子类中去。

OpenLayers的命名空间如下:一、OpenLayers命名空间:如上图所示,OpenLayers是整个webgis系统的最外层命名空间,所有的地理信息系统相关web程序都在此命名空间下,在此命名空间下又创建了其他的命名空间来管理相关功能的程序。

在这个命名空间下定义了一些基础类和基类来构建整个框架。

1、class OpenLayers.MapMap类实例化的对象为地图容器,可以向地图容器里面添加图层和控件。

属性2、class OpenLayers.MarkerOpenLayers命名空间下的Marker类可以被实例化为marker对象,用于标注地图上的位置,marker对象是由LonLat 对象和Icon对象组合而成的。

markers一般被添加到一个叫做yer.Markers的特殊图层中。

需要注意的是,如果你在一个marker中使用了一个icon,也就是说,你不能在其他的marker中在使用它——一旦你使用了这个icon,你应该clone()这个icon然后在另外的marker中使用这个icon。

3、class OpenLayers.PopupPopup类实例化一个弹出窗口,通常被添加到地图容器中。

构造函数4、class OpenLayers.IconIcon为图标类,图标指定用来在地图上显示Marker 的图像。

构造函数5、class OpenLayers.Format各种format类的基类,它的子类实现reading/writing方法。

属性方法6、OpenLayers.RequestOpenLayers.Request命名空间下包含两个常用的AJAX方法,通过这两个方法可以方便的实现XMLHttpRequests功能。

OpenLayers二维地图使用教程

OpenLayers二维地图使用教程

OpenLayers1 OpenLayers简介OpenLayers是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包。

它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范,OpenLayers 采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。

采用OpenLayers作为客户端不存在浏览器依赖性。

由于OpenLayers采用JavaScript语言实现,而应用于Web浏览器中的DOM(文档对象模型)由JavaScript实现,同时,Web浏览器(比如IE,FF等)都支持DOM。

OpenLayersAPIs采用动态类型脚本语言JavaScript编写,实现了类似与Ajax功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有一个Ajax类,用于实现Ajax功能)。

目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。

在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。

OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。

当然,也可以用简单的图片作为源。

在操作方面,OpenLayers 除了可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作,甚至可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。

例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。

Openlayers教程

Openlayers教程

OpenLayers教程1开始使用openlayers1.1设置先到它的官方网站下载他的压缩包,解压。

拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。

然后,创建一个****.html作为查看地图的页面。

2试验openlayers环境:geoserver1.7Openlayers2.4Dreamviever82.1第一个地图窗口目标:用openlayers加载geoserver wms。

步骤:(1)空白html文件(2)插入div-map(3)为div付风格以上为未加载地图的静态页面代码为:效果为:(4)插入openlayers代码引用<link rel="stylesheet" type="text/css" href="../theme/default/style.css"/><script src="OpenLayers.js" type="text/javascript"></script>(5)写js代码,主要是init()第一个地图窗口就完成了注1.js中defer的作用是页面加载完成后,执行脚本。

注2.2222.2控制地图与div的占据区域目标:让地图默认占满展现区方法:设置map的options,由其中两个因素决定:maxExtent-最大地图边界;maxResolution-最大解析度。

当maxExtent设置为地图的最大边界后,maxResolution设置为auto,那地图就占满DIV。

var options = { controls: [],maxExtent: bounds,maxResolution: "auto",projection: "EPSG:4326",numZoomLevels: 7,units: 'degrees'};map = new OpenLayers.Map('map',options);2.3地图控制-尺度缩放目标:填加尺度缩放控件步骤:(1)map初始化赋参数var options = {controls: [],//scales: [50000000, 30000000, 10000000, 5000000],maxExtent: bounds,maxResolution: "auto",projection: "EPSG:4326",numZoomLevels: 7, (表示有几个缩放级别)units: 'degrees'};map = new OpenLayers.Map('map',options);(2)填加控件,代码map.addControl(new OpenLayers.Control.PanZoomBar({position: new OpenLayers.Pixel(2, 15)(右边距,上边距)}));思考:级别的计算,个人推测由(maxResolution- minResolution)/ numZoomLevels,但是默认值是书面日后再细究。

基于OpenLayers客户端的网络地图实现技术框架

基于OpenLayers客户端的网络地图实现技术框架
适 应 , 类 网 络 地 图 的技 术 实 现 和 平 台 也 不 断 涌 各
务, 以数 据 库 ( ot S otrS ) 文 件 方 式 P sGI +P sge QL 或 组织; 用 程序 逻辑 位 于 中间层 , 供地 图 ( — 应 提 Ge o evr及 缓存 服 务 ( o eC ce ; 上 层 为 用 Sre) GeW b ah )最
中, 数据库 端 与应 用 程序 层 通 过 J C OD C进 行 DB / B
交 互 ; 用 程序 层 与 客户 端 利 用 X /S 应 ML J ON 通 过 HT TP进行数 据交 互 。
的 MaQus. o 是 最 早 向公 众 提 供 网 络地 图服 p etem
务 的网站 , 内最 早提 供 相关 服 务 的则 是 图行 天下 国
第3 3卷第 3期 21 0 0年 O 月 5


Vo. 3 No 3 13 , .
Ma . 00 y 2 1
ga dM a D n D i
基 于 Op n a e s客 户 端 的 网 络 地 图 实 现 技 术 框 架 e y L r
陈德鑫
( 漳州市地产交易所 , 福建 漳州 3 30 ) 6 00
具体 而言 , 网络地 图系 统架 构 包 括 以下 开源 该
组件 : ‘
・ 数据 存 储 : ot S P sgeQL, 供 空 间 P sGI/ otrS 提
数据 存储 、 索等 服务 ; 检
软 、 虎及 国 内一些 公 司 陆续 推 出了类 似 的网络 地 雅 图服务 , 服务模式 及技术 架构均 无太 大差异 。 其

地理信息 系统 协 会 ) 准 。本 文 将 探 讨 基 于 O e— 标 pn

vue利用openlayers加载天地图和高德地图

vue利用openlayers加载天地图和高德地图

vue利⽤openlayers加载天地图和⾼德地图⽬录⼀、天地图部分1、在vue中安装openlayers⼆、⾼德地图部分⼀、天地图部分1、在vue中安装openlayersnpm i --save ol这⾥说的vue是基于脚⼿架构建的。

新建个页⾯,也就是vue⽂件,配置好路由。

接着就是可以直接放⼊我的代码运⾏显⽰了。

<template><div class="wrapper"><div>天地图</div><div class="map" id="olMap"></div></div></template><script>import "ol/ol.css";import {Tile as TileLayer } from "ol/layer";import XYZ from "ol/source/XYZ";import {defaults as defaultControls } from "ol/control";import Map from "ol/Map.js";import View from "ol/View.js";export default {data() {return {map: null,parser: null,};},mounted() {this.initMap();},methods: {initMap() {const map = new Map({target: "olMap",view: new View({center: [0, 0], //中⼼点经纬度zoom: 4, //图层缩放⼤⼩projection: "EPSG:4326",}),controls: defaultControls({zoom: true,attribution: false,rotate: false,}),});this.map = map;// 添加地图let url = "http://t{0-7}/DataServer?x={x}&y={y}&l={z}"; url = `${url}&T=vec_c&tk=替代你的key`;const source = new XYZ({url: url,projection: "EPSG:4326",});const tdtLayer = new TileLayer({source: source,});this.map.addLayer(tdtLayer);// 添加注记url = "http://t{0-7}/DataServer?x={x}&y={y}&l={z}"; url = `${url}&T=cva_c&tk=替代你的key`;const sourceCVA = new XYZ({url: url,projection: "EPSG:4326",});const tdtcvaLayer = new TileLayer({source: sourceCVA,});this.map.addLayer(tdtcvaLayer);},},};</script><style scoped>.map {width: 100%;height: 100vh;}</style>天地图就可以显⽰出来了。

二维地图的开发设计与维护(openLayer的使用及介绍)

二维地图的开发设计与维护(openLayer的使用及介绍)

2.2 缩放级别总数的确定方法:
a. 直接指定numZoomLevels,例如: numZoomLevels: 5 b. 由最大分辨率和最小分辨率的比值确定,最小 分辨率同2.1有三种方法可以确定:
b.1 直接指定minResolution b.2 直接指定maxScale b.3 由minExtent确定(minResolution需设置为
OpenLayers的操作
OpenLayers 除了可以在浏览器中帮助开发者实现地 图浏览的基本效果,比如放大(Zoom In)、缩小 (Zoom Out)、平移(Pan)等常用操作之外,还 可以进行选取面、选取线、要素选择、图层叠加等 不同的操作,甚至可以对已有的OpenLayers 操作和 数据支持类型进行扩充,为其赋予更多的功能。同 时,在OpenLayers提供的类库当中,它还使用了类 库Prototype.js 和Rico 中的部分组件,为地图浏览
其中的网址为地图服务的路径参数。(若要使用自己的地图 服务或本地图片资源,则需要自己构造或重写一个 yer的子类,并对其中的getUrl方法按既定规则 进行重写) 一个map对象可以添加多个layer对象,若希望添加多个layer 对象(如:laers(),也可以以数组方式添加。
OpenLayers JavaScript Mapping Library
瓦片数据的url OpenLayers所能够利用的地图数据资源“丰富多彩”,在 这方面提供给拥护较多的选择,比如WMS、WFS、 GoogleMap、KaMap、MS VirtualEarth、WorldWind等等。 当然,也可以用简单的图片作为源。
二维地图的开发设计与维护
OpenLayers简介
OpenLayers是由MetaCarta公司开发的,用于 WebGIS客户端的JavaScript包。

openlayers基础概念

openlayers基础概念

openlayers基础概念一、简介OpenLayers是一个开源的Web地图开发框架,它提供了一组丰富的地图功能,包括地图浏览、缩放、定位、图层叠加等。

OpenLayers支持多种地图数据源,包括WMS、TMS、GeoJSON等,同时也支持自定义图层。

通过OpenLayers,开发者可以轻松地构建各种类型的Web地图应用,包括地理信息系统(GIS)、地理数据可视化、地图分析等。

二、核心概念1.地图(Map)地图是OpenLayers的核心对象,它表示一个地理区域的可视化。

地图由多个图层组成,包括底图图层和叠加图层等。

开发者可以通过API设置地图的属性和方法,实现地图浏览、缩放、定位等功能。

2.图层(Layer)图层是地图的基本组成单元,它表示地图上的一个数据层。

OpenLayers支持多种类型的图层,包括WMS图层、TMS图层、GeoJSON图层等。

每个图层都有自己的数据源和渲染方式,可以叠加在底图上展示。

3.控件(Control)控件是OpenLayers中用于交互的组件,它可以帮助用户更好地与地图进行交互。

控件包括多种类型,如导航控件、缩放控件、测量控件等。

通过控件,用户可以实现地图的平移、缩放、定位等操作。

4.事件(Event)事件是OpenLayers中用于处理用户交互的机制。

当用户与地图进行交互时,会产生相应的事件。

开发者可以通过监听这些事件,获取用户的操作意图,并进行相应的处理。

事件类型包括click事件、mousemove事件等。

5.样式(Style)样式是OpenLayers中用于控制图层渲染的参数。

通过样式,开发者可以设置图层的颜色、线条粗细、透明度等属性,从而影响图层的显示效果。

样式可以应用于不同的图层类型,如点状图层、线状图层、面状图层等。

vue+openlayers项目实践

vue+openlayers项目实践

vue+openlayers项目实践Vue和OpenLayers是两个流行的前端技术,可以用于构建复杂的地图应用程序。

本文将介绍Vue和OpenLayers的基本概念,以及如何在Vue项目中使用OpenLayers进行地图展示和交互。

一、Vue和OpenLayers简介Vue是一个轻量级的JavaScript框架,用于构建用户界面。

它具有响应式的数据绑定和组件化的开发方式,可以简化前端开发过程。

OpenLayers是一个开源的JavaScript库,用于显示和编辑地理数据。

它提供了一套强大的地图渲染和交互功能,可以在Web上展示各种地图数据。

二、Vue项目中集成OpenLayers1. 安装OpenLayers在Vue项目中安装OpenLayers。

可以使用npm或yarn来安装OpenLayers:npm install ol2. 创建地图组件在Vue项目的组件中,创建一个用于展示地图的组件。

可以在组件中引入OpenLayers的类和函数:```javascriptimport { Map, View } from 'ol';import TileLayer from 'ol/layer/Tile';import OSM from 'ol/source/OSM';export default {name: 'MapComponent',mounted() {// 创建地图new Map({target: 'map',layers: [new TileLayer({source: new OSM()})],view: new View({center: [0, 0],zoom: 2})});}}```3. 在模板中使用地图组件在Vue项目的模板中,可以使用地图组件并将其渲染到页面中:```html<template><div id="map"></div></template>```4. 配置地图样式和交互除了基本的地图展示外,还可以通过配置样式和交互来实现更丰富的地图功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于openlayers地图框架的搭建
准备的工具
/ openlayers的官方网站上下载对应的运行包,其中多为js和css,html
文件。

准备对应的地图文件,如shap等格式的地图图层,利用开源框架发布地图服务。

搭建服务器框架,访问已经建立好的关系型数据库。

这里访问后台数据的框架可以使java,
C#,PHP,.NOT,ASP,JSP。

在前台页面上通过ajax调用关系型数据的数据显示在发布的地图服务上面,自己重新建立新
的图层。

实现方式
Openlayers实现的方式是通过javascript来实现的,所以它对ajax和json具有良好地支持性。

如果在项目中没有用到服务器进行数据访问,根本不需要打开服务器,直接访问html就可以访问到对应的地图服务。

当然,如果这个html在一个web项目中,没有启动是无法在其他机子上访问的。

Openlayers的实现方式非常简单,只需要引入几个css和js即可实现。

如图
注:需要拷贝openlayers解压文件夹下的lib,img,OpenLayers.js,要用到样式还要添加theme 文件夹。

到自己项目中。

例如webroot下的js文件或openlayers文件家中。

开始第一个例子(在线地图API的访问)
1.新建一个web项目,新建一个jsp页面或者html页面。

2.引入js和css详见上面注意。

3.写对应的javascript代码。

先添加一段css样式
在html代码中写上
然后写init方法中的代码了。

相关文档
最新文档