
Openlayers
文章平均质量分 75
召唤师峡谷
WebGIS、3DGIS、DesktopGIS,移动开发
展开
-
OpenLayers 项目完整分析(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道 Openlayers是什么,能够做什么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。 这个图是从它的文档上截取的,旨在从感官上认识一下OpenLayers的类。下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧): 我们看到在类的顶层“高高在上”的是OpenLayers,它为整个项目实现提供名称空间(J转载 2015-05-15 18:47:49 · 2523 阅读 · 1 评论 -
OpenLayers学习笔记2——坐标转换问题
参照别人的添加marker的demo来改造时,发现无论怎样更改经纬度,都是停留在同一个位置。过了一两天突然想起可能是坐标参考的问题,尝试搜了一下,果然是这个问题。问题是这样子的:WMTS中地图的坐标参考系是102100(具体是哪个不清楚),如下图所示:而我在初始化地图时设置的参数如下图所示:projection属性设置的是‘EPSG:102100’,displayProjectio原创 2015-06-03 00:10:24 · 12985 阅读 · 0 评论 -
OpenLayers学习笔记9——使用servlet与jquery-ui实现自动提示输入
做软件都要从用户的角度来做,怎么样让用户输入的更少,体验更好,我们就应该怎么来做,也就是需求驱动,客户都是大爷!题外话说完了,步入正题,本文实现在查询时输入查询条件时,自动提示数据库中包含改值所有记录(注意,我这里用的是包含,not start,not end,这是跟mysql的模糊查询相关的),看下实现效果:1、使用jquery ui的autocomplete控件jQuery原创 2015-06-22 00:46:47 · 2434 阅读 · 0 评论 -
OpenLayers学习笔记3——使用jQuery UI美化界面设计
PC端软件在开发是有较多的界面库可以选择,比如DevExpress、BCG、DotNetBar等,可以很方便快捷的开发出一些炫酷的界面,最近在学习OpenLayers,涉及到web前端开发,在设计界面时刚开始不熟悉,设计的很丑,后来参照ArcGIS在线体验中心的demo以及对web前端界面设计库的调研,最终采用jQuery UI来美化界面(还有比较强大的Dojo)。先来看下效果:这里说原创 2015-06-06 20:49:12 · 3391 阅读 · 0 评论 -
OpenLayers学习笔记4——使用jQuery UI实现测量对话框
OpenLayers学习最好的方式就是跟着其自带的示例进行学习,另外对web前端的开发设计要了解,慢慢积累,这样在一般的小项目中应该是足够用了。本篇参照量测demo实现对话框形式的量测,抛砖引玉,通过这个功能,后面的查询、定位等基于对话框的形式就很容易实现了。先看下效果图:长度测量:面积测量:代码基本都是demo里的代码,就不贴出来了。这里需要注意的问题是,在关闭窗口的原创 2015-06-06 21:04:13 · 2866 阅读 · 0 评论 -
OpenLayers学习笔记6——使用jQuery UI实现查询并标注(功能实现篇)
本篇博客接上篇是关于OpenLayers的地图标注及弹出窗(marker+popup),先来看下效果图:下面给出代码,都写了注释,不做过多解释了:///添加标记function addMarke(x, y, attribute){ //设置marker样式 var style_mark = OpenLayers.Util.extend({}, OpenLaye原创 2015-06-09 19:32:31 · 2404 阅读 · 0 评论 -
OpenLayers学习笔记1——实现WMTS的逐级无缝缩放
在内网部署应用时,将下载的地图发布为WMTS服务,可以提升地图访问速度,并可以通过设置相关参数实现不同地图的无缝缩放(世界---中国----省---市),效果图如下所示:代码如下: //GSM矢量全球切片 GSMapEarth = new OpenLayers.Layer.WMTS( { name:原创 2015-06-02 13:03:25 · 3536 阅读 · 0 评论 -
OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
最近事情很多,老板给的压力也很大,经常出差,另外项目和个人研究还都要跟上,本月要交论文,还要写专利,只能抽时间来学习其他的东西了。关于OpenLayers的在博客中不会写太多具体的实现(网上有很多openlayers的博客,关于加载wms、标记、量测的,我这里就不再重复了),只是记录自己的开发学习经验和一些需要注意的问题,真正做开发的都知道,要想学好开发只能通过自己默默的多磨。。关于WW的学习和开原创 2015-06-09 01:32:25 · 3546 阅读 · 0 评论 -
OpenLayers学习笔记10——datagrid双击缩放指定点
这里实现gis里最常用的功能:缩放至图层(或者缩放至要素),实现效果如下:这个实现就很简答了,主要用到的是datagrid的双击事件,其api是这么描述的:那么,只要获取双击行的经纬度,然后利用map的setCenter或zoomto方法就可以了。代码如下: onDblClickRow: function(rowIndex, rowData){原创 2015-06-22 01:05:03 · 3133 阅读 · 0 评论 -
OpenLayers学习笔记7——使用javaBean实现用户登录
之前的开发是采用phpStorm,前端:html+css+javascript+jquery,服务器端:php;但是这个前后台交互要通过ajax来实现数据交互,中间遇到了跨域的问题,卡了两天虽然解决了但是后面部署的话会比较麻烦。正好最近老板让我接手之前另一个项目开发的软件,是用jsp写的,一开始我是拒绝的,后来借了一本jsp的书,用一天的时间快速读了下,觉得这个开发部署要方便很多,于是就把之前的代原创 2015-06-18 17:27:56 · 2291 阅读 · 0 评论 -
OpenLayers项目分析——(九)控件
OpenLayers中的控件,是通过加载到地图上而起作用的,也算地图表现的一部分。同时,控件需要对地图发生作用,所以每个控件也持有对地图(map对象)的引用。 前面说过,控件是于事件相关联的。具体的说就是控件的实现是依赖于事件绑定的,每个OpenLayers.Control及其子类的实例都会持有一个handler的引用的。 那么,怎么来创建并添加一个控件呢?用下面的语句:转载 2015-05-15 19:11:59 · 1366 阅读 · 0 评论 -
OpenLayers项目分析——(一)项目介绍
OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.7 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。 采用OpenL转载 2015-05-15 18:42:36 · 1388 阅读 · 0 评论 -
OpenLayers项目分析(四)空间数据的组织与实现
GIS,核心是什么?数据?平台?服务? 空间数据的特征、表达方式? 地理数据的模型(结构)? 在OpenLayers空间数据的实现主要存在OpenLayers. Geometry类及其子类中。我们先看下面的两个图片,表现了这些类的继承关系。从图上可以清楚的看出MultiPoint、Polygon和MultiLineString 这三个类实现了多重继承,即直接继承于Geomet转载 2015-05-15 18:56:31 · 1628 阅读 · 0 评论 -
OpenLayers 项目分析(三)BaseTypes
(三)BaseTypes :定义底层类与定制JS内置类 先说基类型BaseTypes下,OpenLyers构建的“自己”的类。它们分别是:OpenLayers. LonLat、OpenLayers. Pixel、OpenLayers.Size、OpenLayers. Element、OpenLayers. Bounds和OpenLayers. Class。下面分别介绍: Op转载 2015-05-15 18:48:54 · 1142 阅读 · 0 评论 -
OpenLayers项目分析(七)地图表现
一开始看到OpenLayers,就有一个问题。就是它作为WebGIS的前端,通俗地说,是“显示”地图的。那么,它显示的地图是什么,是怎么显示的,又是怎么实现的?——暂且把这个问题叫做地图表现。我觉得最关键的就是Map类,把这个类分析清楚了,问题就解决了一大半了。 前面第一回里说过怎么实例化一个地图,怎么向地图里加图层加控件。其实,地图是这样的,它就像一个容器,可以盛东西。要分析它光理解这些还转载 2015-05-15 19:08:08 · 1385 阅读 · 0 评论 -
openlayers 初步认识
OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能。OpenLayers支持的地图来源 包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OPenLayers提供了 非常多的选择。 要使用OpenLayers,您可以到它的官方网站http://www.openlay转载 2015-05-15 18:40:24 · 1206 阅读 · 0 评论 -
OpenLayers项目分析——(八)地图表现(续)
上一回说到OpenLayers.Map类,这回介绍组成Map的主体部分OpenLayers. Layer类,先从其实现细节上分析,看它是怎么设计出来的。关于它许许多多的子类,即各种图层,想单独写一篇。 OpenLayers. Layer提供了一个EVENT_TYPES常量,用于支持关于图层的应用事件类型,这些事件有"loadstart", "loadend", "loadcancel",转载 2015-05-15 19:10:42 · 1172 阅读 · 0 评论 -
OpenLayers 项目分析(三)-OpenLayers中定制JavaScript内置类
(三)BaseTypes: OpenLayers中定制JavaScript内置类 OpenLayers不仅“自己”写了一些底层的类,像上回说的那些都是。同时也定制了一些JS的一些内置类,即对JS内置类的扩展。这个扩展主要包含3类:String,Number,Function,存在于BaseTypes.js文件中。 String:OpenLayers对string类型定制了8个方法,转载 2015-05-15 18:51:53 · 1232 阅读 · 0 评论 -
OpenLayers项目分析(五) 数据解析以GML为例
前面也提到过,OpenLayers设计是符合标准的,有良好的框架结构和实现机制,非常值得学习。OpenLayers支持的格式比较多,有XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS等。这回主要以GML为例来看OpenLayers 数据的解析过程。 先来了解一下GML: GML (Geography Markup Language)即地理标识语言,它由OGC(开放转载 2015-05-15 19:00:30 · 2008 阅读 · 0 评论 -
OpenLayers项目分析(六)数据渲染分析
实际上,OpenLayers的整个表现过程是这样的:通过调用获取数据,然后各种格式的解析器解析数据,在用所谓的渲染器渲染后加到图层上,最后再结合相应的控件表现出来,成为一幅我们看到的“动态”地图。 这里主要讨论OpenLayers. Renderer这个类及其子类。 Renderer类提供了一些虚方法,以供其子类继承,像setExtent、drawFeature、drawGeometr转载 2015-05-15 19:05:09 · 2605 阅读 · 0 评论 -
OpenLayers学习笔记8——使用servlet从mysql获取数据并标注
这两天在图书馆边看jsp边查边写代码,改完了老板交给的任务,也顺带实现了查询的效果,先来看下最终实现的效果图:整个实现思路是:服务器端采用servlet+mysql模糊查询,servlet返回json数据,客户端解析json数据以表格形式显示并根据经纬度在地图上进行标注。1、服务器端Servlet代码:package edu.whu.vge.servlet;import j原创 2015-06-20 10:30:43 · 4198 阅读 · 1 评论