OpenLayers应用二
openlayers 的circle方法
文章标题:深度探索openlayers中的circle方法1. 引言在前端地图开发领域,openlayers是一个非常优秀,功能强大的地图开源库。
其中的circle方法作为其中的一个重要功能,可以在地图上绘制圆形要素,并进行相关的交互和样式设置。
本文将深入探讨openlayers中的circle方法,从基础知识到高级应用,全面解读这一功能的用法和潜力。
2. 基础知识在openlayers中,使用circle方法可以绘制一个圆形要素。
通过指定圆心坐标、半径距离等参数,可以轻松创建一个定位精准的圆形要素,并将其添加到地图上进行展示。
对于地图展示中需要标注特定区域的场景,这一功能非常实用,可以帮助用户快速定位和识别地理位置。
3. 高级应用除了基本的绘制功能之外,circle方法还支持丰富的交互和样式设置。
可以通过设置不同的样式、颜色、透明度等属性,让圆形要素在地图上呈现出不同的视觉效果。
还可以添加交互事件,实现对圆形要素的点击、悬浮等操作,为用户提供更加丰富和直观的地图体验。
4. 深入理解通过对circle方法的深入使用,可以发现它在地图展示和交互方面有着非常大的潜力。
可以结合动态数据,实时更新圆形要素的位置和属性,实现实时监控和展示;还可以结合其他图层,实现更加复杂的地图数据展示和切换。
circle方法不仅仅是简单的绘图工具,更是一个可以灵活运用的地图开发利器。
5. 个人观点作为openlayers中的重要功能之一,circle方法在地图开发中有着举足轻重的地位。
其简单易用的特点,加上丰富的扩展能力,使得它成为了开发者们实现地图展示需求的利器。
在今后的开发过程中,我将更加深入地学习和使用这一功能,结合实际项目需求,发挥出它的最大潜力。
6. 总结通过本文对openlayers中circle方法的深度探索,我们不仅了解了其基础知识和使用方法,还深入理解了其高级应用和潜力。
在地图开发中,灵活运用circle方法将为我们带来更加丰富和多样的地图展示效果,为用户提供更加直观和便捷的地理信息展示和交互体验。
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源代码分析(二)
代码实战: osm-marker.htm
Handler:这个类用于处理序列事件,可被激活和取消。同时,它
也有命名类似于浏览器事件的方法。当一个handler 被激活,处理
事件的方法就会被注册到浏览器 监听器listener ,以响应相应的事 件;当一个handler被取消,这些方法在事件 监 听器中也会相应 的被取消注册。Handler通过控件control被创建,而control通过 icon表现。
popup.toggle() } );
var markers = new yer.Markers("Markers"); map.addLayer(markers); popup = new OpenLayers.Popup.Anchored("Example", new OpenLayers.LonLat(5,40), new OpenLayers.Size(200,200), "Welcome to Barcelona"); popup.hide(); map.addPopup(popup); var point = new OpenLayers.LonLat(5, 40) var marker = new OpenLayers.Marker(point); markers.addMarker(marker); marker.events.register( "click", marker, function (e) {
ห้องสมุดไป่ตู้
popup.toggle() } );
代码实战: osm-popup.htm
欢迎访问我们的官方网站
var map = new OpenLayers.Map('map'); var markers = new yer.Markers("Markers"); map.addLayer(markers); var point = new OpenLayers.LonLat(-29351,3776600) var marker = new OpenLayers.Marker(point); markers.addMarker(marker); map.zoomToMaxExtent();
openlayers 的 readfeatures
OpenLayers 是一个开源的地图 JavaScript 库,它提供了一系列强大的地图显示和交互功能。
在 OpenLayers 中,readfeatures 方法是一个用于读取地图中用户绘制的要素的函数。
本文将从以下几个方面详细介绍 openlayers 的 readfeatures 方法:一、readfeatures 方法的基本介绍readfeatures 方法是 OpenLayers 中用于读取用户绘制的要素的函数。
用户在地图上进行绘制操作后,readfeatures 方法可以将绘制的要素读取出来,以便进行后续的操作。
readfeatures 方法一般接受一个参数,该参数是一个包含要素信息的对象。
二、readfeatures 方法的使用示例下面是一个简单的示例,演示了如何在 OpenLayers 中使用readfeatures 方法读取用户绘制的要素:```javascript// 创建一个绘制要素的交互对象var draw = new ol.interaction.Draw({source: source,type: 'Point'});// 将绘制要素的交互对象添加到地图中map.addInteraction(draw);// 绑定 drawend 事件,该事件在绘制结束时触发draw.on('drawend', function(event) {// 从绘制的要素中获取要素信息var feature = event.feature;// 调用 readfeatures 方法读取要素信息var features = readfeatures(feature);// 在控制台输出读取到的要素信息console.log(features);});```以上示例中,首先创建了一个绘制要素的交互对象 draw,并将其添加到地图中。
然后绑定了 drawend 事件,当用户完成绘制操作时会触发该事件。
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,但是默认值是书面日后再细究。
OpenLayer2 Openlayer3经典案例总结
varurl='/geoserver/wfs?service=WFS&'+
'version=1.1.0&request=GetFeature&typename=osm:water_areas&'+
<style>
.map{
height:400px;
width:100%;
}
</style>
<scriptsrc="/en/v3.7.0/build/ol.js"type="text/javascript"></script>
<title>OpenLayers 3 example</title>
map.addControl(newOpenLayers.Control.OverviewMap());
map.addControl(newOpenLayers.Control.PanZoomBar());
varvlayer=yer.Vector("Editable");
'outputFormat=text/javascript&format_options=callback:loadFeatures'+
'&srsname=EPSG:3857&bbox='+extent.join(',')+',EPSG:3857';
// use jsonp: false to prevent jQuery from adding the "callback" //阻止JQuery自己增加callback函数
二维地图的开发设计与维护(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包。
WebGIS之OpenLayers全面解析(第2版)
3
5.3开放数据
4
5.4公共地图 数据
5
5.5矢量瓦片
5.6多源数据叠加 5.7网格信息显示
5.8地图打印(导出 图片)
5.9练习
1
6.1图形交互 绘制原理
2
6.2几何图形 的绘制ຫໍສະໝຸດ 36.3图形样式 编辑
4
6.4图形交互 编辑
5
6.5练习
7.1 OGC使用说明
7.2 OGC规范的加载 原理
读书笔记
千篇一律,毫无亮点,无非就是一些API介绍简单的示例说明。
目录分析
1.2什么是WebGIS
1.1什么是GIS
1.3常见的开源 WebGIS平台
2.1 Web开发基础理 论
2.2 Web编程基础
2.3 WebGIS的框架 结构
2.4 WebGIS开发的 GIS背景知识
3.1
1
OpenLayers
7.3 OGC规范数据显 示
7.4练习
8.1地图标注功能 8.2投影转换
8.3视图联动 8.4地图定位导航
1
8.5热点图
2
8.6热区功能
3
8.7统计图
4
8.8军事标绘 功能
5
8.9练习
9.1建设背景 9.2系统需求
9.3系统设计 9.4系统实现
9.5系统部署
9.6练习
作者介绍
这是《WebGIS之OpenLayers全面解析(第2版)》的读书笔记模板,暂无该书作者的介绍。
精彩摘录
这是《WebGIS之OpenLayers全面解析(第2版)》的读书笔记模板,可以替换为自己的精彩内容摘录。
感谢观看
【转】OpenLayers
【转】OpenLayersOpenLayers:OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能。
OpenLayers支持的地图来源包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OPenLayers提供了非常多的选择。
WMS服务:1 OGC组织及其开放性规范为了实现异构的地理空间信息及GIS处理功能的互操作的集成,OGC(Open GIS Consortium)一直致力于寻求一种方式,将地理信息系统技术、分布处理技术、面向对象技术、数据库设计以及实时信息处理方法有效地结合起来,实现分布式异构平台上GIS互操作[2]。
OGC制定了开放地理信息互操作规范(OGIS),试图通过共同的开放地理数据模型(OGM)和OGIS参考模型(ORM)来实现互操作。
其目的是希望提出一个可扩展的、基于各种标准的、能无缝集成各种在线空间处理和位置服务的框架,使得分布式空间处理系统能通过XML和HTTP技术进行交互,并为各种在线空间数据资源,来自传感器的信息、空间处理服务和位置服务和基于Web的发现、访问、整合、分析、利用和可视化提供互操作框架[3]。
OGC的中心主题是共享信息和提供服务,在OGC的抽象规范中共有17个主题,其中主题12是开放式Web Services空间信息服务框架[4,5],它包含一系列的抽象规范和实现规范。
概括地来讲,OGC OpenGIS Web Services(OWS)包括三个主要的地理信息服务即Web Map Service(WMS)、Web Feature Service(WFS)和Web Coverage Service(WCS)。
除此之外,还包括Simple Feature Specillcation(SFS),Geography Markup Language(GML)等。
openlayers arcgis调用方法
openlayers arcgis调用方法(实用版4篇)目录(篇1)1.OpenLayers 简介2.ArcGIS Server 离线瓦片服务的概念与应用3.使用 OpenLayers 加载 ArcGIS Server 离线瓦片服务的方法4.实例:HerryDong 的博客中的离线瓦片服务应用5.结论:OpenLayers 在离线瓦片服务加载方面的优势与意义正文(篇1)1.OpenLayers 简介OpenLayers 是一款开源的 JavaScript 库,用于在网页上展示地图。
它允许用户在网页上快速、方便地搭建地图应用,提供了丰富的地图功能和控件。
OpenLayers 支持多种地图数据源,如 ArcGIS Server、Google Maps 等,为用户提供了灵活的选择空间。
2.ArcGIS Server 离线瓦片服务的概念与应用ArcGIS Server 是 Esri 公司推出的一款地图服务器产品,提供了丰富的地图数据处理和发布功能。
离线瓦片服务是 ArcGIS Server 的一种地图数据发布方式,它将地图数据预先切片并存储为图像文件,用户可以在不需要连接到地图服务器的情况下加载和显示地图。
离线瓦片服务具有减轻服务器负担、提高地图加载速度等优点。
3.使用 OpenLayers 加载 ArcGIS Server 离线瓦片服务的方法要使用 OpenLayers 加载 ArcGIS Server 离线瓦片服务,需要按照以下步骤操作:(1)创建一个 HTML 文件,引入 OpenLayers 的 CSS 和JavaScript 库。
(2)在 HTML 文件中创建一个地图容器(map container),设置地图容器的尺寸和背景颜色。
(3)创建一个地图对象(map object),设置地图的投影、中心点和缩放级别等参数。
(4)使用 OpenLayers 的瓦片加载器(tile loader)加载 ArcGIS Server 离线瓦片服务。
openlayers 圆形 径向渐变范围
标题:探索OpenLayers中圆形径向渐变范围的实现与应用在讨论OpenLayers中圆形径向渐变范围的实现与应用之前,我们先来了解一下OpenLayers这个工具。
OpenLayers是一个用于地图显示的JavaScript库,它提供了一套强大的工具,可以帮助开发者在网页上展示丰富多彩的地图和地理空间信息。
而对于圆形径向渐变范围的应用,它可以为地图中的特定区域增加一种视觉效果,让用户能够更直观地理解地理位置之间的关系。
1. 圆形径向渐变范围的概念圆形径向渐变范围是指以一个圆形区域为基础,在这个圆形区域内进行颜色或者透明度上的渐变。
这种渐变效果可以让地图上的特定区域显示出不同的强度或分布,以便用户更清晰地了解地理数据之间的关系。
在地图展示中,这种效果常用于标注地理位置的重要性、覆盖范围或者其他特定的地理特征。
2. OpenLayers中圆形径向渐变范围的实现在OpenLayers中,圆形径向渐变范围的实现可以通过使用Canvas 来完成。
Canvas是HTML5中一种新的绘图标签,它可以让开发者通过JavaScript来绘制图形,实现丰富的可视化效果。
通过Canvas,我们可以在OpenLayers的地图中创建一个圆形的覆盖层,并在这个覆盖层上实现径向渐变效果。
这样一来,我们就可以在地图上展示出不同区域的渐变效果,提高地图的可视化效果和用户体验。
3. 圆形径向渐变范围的应用场景圆形径向渐变范围在地图应用中有着广泛的应用场景。
在气象预报中,我们可以利用这种效果来展示风速、降雨量等气象数据的分布情况,让用户更直观地了解不同地区的气象状况;在环境保护领域,我们可以利用这种效果展示不同地区的环境污染程度,帮助人们更清晰地认识环境保护的紧迫性和重要性;在地理信息系统中,我们可以利用这种效果展示地理位置的覆盖范围,让用户更直观地理解不同区域的地理特征。
4. 我对圆形径向渐变范围的个人观点与理解在我看来,圆形径向渐变范围是一种非常有用的地图可视化技术。
(word完整版)OpenLayers接口文档
OpenLayers由于OpenLayers是采用JavaScript实现的,不存在包的概念,但是它可以通过命名空间来实现类似包的功能。
另外,JavaScript不存在继承的概念,也不存在私有、公有、保护等概念,OpenLayers中所谓的继承其实就是将基类中的所有属性和方法复制到子类中去。
OpenLayers的命名空间如下:一、OpenLayers命名空间:如上图所示,OpenLayers是整个webgis系统的最外层命名空间,所有的地理信息系统相关web程序都在此命名空间下,在此命名空间下又创建了其他的命名空间来管理相关功能的类。
在这个命名空间下定义了一些基础类和基类来构建整个框架.1、class OpenLayers。
MapMap类将div DOM元素实例化的对象为地图容器,可以向地图容器中添加图层和控件。
2、class OpenLayers。
Map2基于OpenLayers.Map封装,将自有地图图层和常用控件都已经加载在地图当中,用户无需关心地图数据源等问题,简化了用户的地图调用.实例化该类后即可创建一个可查看和使用的地图对象,其方法和属性与OpenLayers。
Map一致,见OpenLayers.Map类。
2、class OpenLayers。
MarkerOpenLayers命名空间下的Marker类可以被实例化为marker对象,用于标注地图上的位置,marker对象是由LonLat对象和Icon对象组合而成的.markers一般被添加到一个叫做yer。
Markers的特殊图层中。
需要注意的是,如果你在一个marker中使用了一个icon,也就是说,你不能在其他的marker中在使用它-—一旦你使用了这个icon,你应该clone()这个icon然后在另外的marker中使用这个icon。
3、class OpenLayers。
PopupPopup类实例化一个弹出窗口,通常被添加到地图容器中。
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二维地图使用教程
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 addfeature方法
openlayers addfeature方法(原创实用版4篇)《openlayers addfeature方法》篇1OpenLayers 是一款开源的JavaScript 库,用于在网页上展示地图。
addFeature 方法是OpenLayers 中用于向地图添加地图特征(如点、线、面等)的方法。
要使用addFeature 方法,首先需要创建一个地图对象(Map Object),然后创建一个特征对象(Feature Object),最后将特征对象添加到地图对象中。
下面是一个简单的示例:```javascript// 创建一个地图对象var map = new ol.Map({target: "map", // 地图容器,这里为ID 为"map" 的HTML 元素layers: [ // 添加地图图层new yer.Tile({source: new ol.source.OSM() // 使用OSM 图层})],tools: [ // 添加地图工具new ol.feature.Feature.Draw({radius: 10, // 半径featureType: "water", // 类型,可以是"water" 或"land"enable dragging: true // 是否允许拖动}),new ol.feature.Feature.Draw({radius: 10,featureType: "land",enable dragging: true})]});// 创建一个特征对象var feature = new ol.feature.Feature();feature.setGeometry(new ol.geom.Point(ol.proj.fromLonLat([104, 36]), {radius: 5})); // 以经纬度创建一个点特征// 将特征对象添加到地图对象中map.addFeature(feature);```在这个示例中,我们创建了一个OpenLayers 地图对象,添加了一个OSM 图层和一个水图层。
openlayer中addoverlay的用法
OpenLayers是一个用于创建互动式的地图的开源JavaScript库。
它提供了一系列功能强大的工具和API,使得开发者可以轻松地集成地图、地图标记、地图图层等元素到自己的网页应用中。
其中,addOverlay是OpenLayers中的一个重要方法,用于向地图上添加覆盖层。
在本文中,我们将深入探讨addOverlay方法的用法,包括参数设置、常见问题解决等内容,帮助开发者更好地理解并使用这一功能。
一、addOverlay方法的基本语法在OpenLayers中,addOverlay方法用于向地图上添加覆盖层,其基本语法如下:map.addOverlay(overlay);其中,map是地图对象,overlay是待添加的覆盖层对象。
通过调用这一方法,可以将overlay添加到地图上并显示出来。
在接下来的内容中,我们将逐步介绍overlay的参数设置、常见问题解决等内容,帮助开发者更好地理解和运用addOverlay方法。
二、overlay的参数设置在使用addOverlay方法时,需要对overlay的参数进行设置,以确保其可以正确地显示在地图上。
常用的参数包括位置、大小、内容等,下面将详细介绍这些参数的设置方法。
1. 位置的设置overlay的位置是通过坐标来确定的,通常使用OpenLayers的LonLat对象来表示。
在设置位置时,需要先创建一个LonLat对象,然后将其作为参数传入overlay中,示例代码如下:var lonlat = new OpenLayers.LonLat(116, 39);var overlay = new OpenLayers.Popup("Popup", lonlat, new OpenLayers.Size(200,200), "Example popup content", true); map.addOverlay(overlay);在上面的示例代码中,我们首先创建了一个LonLat对象表示坐标(116,39),然后使用这一坐标创建了一个overlay对象。
OpenLayers地图重点属性摘录
一:OpenLayers1.OpenLayers:常量version_number标识版本二:BaseTypes2.BaseTypes(基本类型):这里定制了Openlayers中用到的string、number、function、array 3.Bounds(边界):属性left、bottom、right、top、centerLonLat方法extend 用于扩展边界,toBBox用于绑定bounds = new OpenLayers.Bounds();bounds.extend(new OpenLayers.LonLat(4,5));bounds.extend(new OpenLayers.LonLat(5,6));bounds.toBBOX(); // returns 4,5,5,64.LonLat(经纬度):属性lon经度、lat纬度注意:如果地图不是地理投影,那么调用的LonLat表示的是地图上的x、y轴坐标,为(0,0)表示坐标轴原点例子:map.setCenter(new OpenLayers.LonLat(116.3876,39.8983),13);最后一个参数表示Zoom:放大倍数5.Pixel(像素):属性x、y表示x和y坐标6.Size:属性w、h表示宽和高三:Console7.Console:用于调试和把错误等输出到“控制台”上,需要结合使用firebug四:Control8.Control(控件):使用方法:方法一:var map = new OpenLayers.Map('map', { controls: [] });map.addControl(new OpenLayers.Control.PanZoomBar());方法二:var map = new OpenLayers.Map('map',{ controls: [new OpenLayers.Control.PanZoomBar(),new OpenLayers.Control.Navigation()]});9.Button(按钮):方法trigger()点击按钮的时候会调用使用方法:var button = new OpenLayers.Control.Button({displayClass: "MyButton", trigger: myFunction});panel.addControls([button]);10.DragPan(鼠标拖动地图)11.DrawFeature(在矢量图上画点、线、面)var lines = new yer.Vector("Lines", {styleMap: new OpenLayers.StyleMap({pointRadius: 3,strokeColor: "#ff3300",strokeWidth: 3,fillOpacity: 0})});var panel = new OpenLayers.Control.Panel({displayClass: "olControlEditingToolbar"});var draw = new OpenLayers.Control.DrawFeature(lines, OpenLayers.Handler.Path,{displayClass: "olControlDrawFeaturePath", title: "Draw Lines"});panel.addControls([new OpenLayers.Control.Navigation({title: "Navigate"}),draw]);map.addControl(panel);12.EditingToolbar(编辑工具条)EditingToolbar包含4个控件:draw point、draw lines、draw polygon、pan navigation构造函数参数:layer(yer.Vector)、options例子:var vector = new yer.Vector("Editable Vectors");map.addLayers([vector]);map.addControl(new OpenLayers.Control.EditingToolbar(vector));13.Geolocate(地理定位)把w3c geolocation API包装成控件,与地图绑定,位置发生变化时触发事件14.GetFeature15.Graticule(格子线)在地图上以grid显示经纬线16.KeyboardDefaults:增加了用键盘实现平移缩放功能map.addControl(new OpenLayers.Control.KeyboardDefaults());17.LayerSwitcher(图层切换功能)map.addControl(new yerSwitcher());18.Measure(用于测量绘图):方法getArea和getLength19.MousePosition(鼠标位置):显示鼠标指针移动时的地理坐标map.addControl(new OpenLayers.Control.MousePosition());20.MouseToolbar(鼠标工具栏):有拉框放大的功能,但是需要按住shift键,所以不推荐使用,要实现相同的功能可以使用NavToolbar21.Navigation(导航):导航控件处理鼠标事件(拖动、双击、滚动)的地图浏览注意:这个控件是默认添加到地图中的22.NavToolbar:加入了两个mousedefaults控件,通过使用zoomBox实现拉框放大功能map.addControl(new OpenLayers.Control.NavToolbar());23.OverviewMap(鹰眼):默认在地图的右下角map.addControl(new OpenLayers.Control.OverviewMap());24.Pan(平移)25.Panel(面板):Panel控件是其他控件的容器Each control in the panel is represented by an icon,即表示添加到面板里面的控件都是用图像表示的26.PanZoom(平移缩放):由OpenLayers.Control.PanPanel和OpenLayers.Control.PanPanel 这两个控件组成,具有平移和缩放的功能图标:map.addControl(new OpenLayers.Control.PanZoom());27.PanZoomBar(平移缩放工具栏):由OpenLayers.Control.PanPanel和OpenLayers.Control.ZoomBar这两个控件组成,具有平移和缩放功能,这控件和PanZoom的区别见图标图标:map.addControl(new OpenLayers.Control.PanZoomBar());28. Permalink(永久链接):点击永久链接将用户返回到当前地图视图例子:map.addControl(new OpenLayers.Control.Permalink());29.Scale(比例尺):以1:1这种比率样式显示当前地图的比例例子:map.addControl(new OpenLayers.Control.Scale());30.ScaleLine(比例尺):以线段指标的样式显示当前地图的比例例子:map.addControl(new OpenLayers.Control.ScaleLine());31.SelectFeature 通过点击或是悬停选择给定层上的Feature构造函数参数:layer(yer.Vector)、options属性:multipleKeytoggleKeymultiple:是否允许同时选择多个图形clickout:取消功能,当点击图形外的任何东西,取消对图形的选择hover:鼠标悬停例子:selectControl = new OpenLayers.Control.SelectFeature([vectors1, vectors2],{clickout: true, toggle: false,multiple: false, hover: false,toggleKey: "ctrlKey", // ctrl key removes from selectionmultipleKey: "shiftKey" // shift key adds to selection});map.addControl(selectControl);selectControl.activate();32.SLDSelect33.Snapping(编辑矢量图层时用于捕捉)34.Split35.TouchNavigation(触摸导航):只针对触摸功能的设备的地图绘制应用程序36.TransformFeature37.WMSGetFeatureInfo:使用WMS的查询来获取地图上一个点的信息,显示的格式是Format的38.WMTSGetFeatureInfo:使用WMTS的查询来获取地图上一个点的信息,显示的格式是Format的39.Z oomBox(拉框放大的功能):与NavToolbar同样,属性out 可以实现拉框缩小(这个控件没有实现)Q:在界面中使用map.addControl(new OpenLayers.Control.ZoomBox({alwaysZoom:true}));并不能实现将拉框控件添加到地图中?使用创建新类的方法下面这段代码中调用的this是哪一层?controls[0]是哪个控件?OpenLayers.Control.CustomNavToolbar = OpenLayers.Class(OpenLayers.Control.Panel, {initialize: function(options) {OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);this.addControls([new OpenLayers.Control.ZoomBox({alwaysZoom:true})]);//this.displayClass = 'olControlNavToolbar'},draw: function() {var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);this.defaultControl = this.controls[0];return div;}});map.addControl(new OpenLayers.Control.CustomNavToolbar()); 40.ZoomIn 放大使用的时候可以通过PanZoomBar控件,ZoomIn每次放大一个级别41.ZoomOut 缩小使用的时候可以通过PanZoomBar控件,ZoomOut每次缩小一个级别42.ZoomPanel 包括OpenLayers.Control.ZoomIn和OpenLayers.Control.ZoomToMaxExtent和OpenLayers.Control.ZoomOut 图标map.addControl(new OpenLayers.Control.ZoomPanel());43.ZoomToMaxExtent 显示地图的最大程度的缩小五:Map44.Map (地图)见资料构造函数参数:div(页面中要显示的标签)、options属性:allOverlays:?3maxExtent:地图的最大范围units:地图的单位projection:覆盖默认的投影字符串地图,如果适当,最好还设置maxExtent、maxResolution、unitsmaxResolution:最大分辨率numZoomLevels:缩放级别数目知道最大分辨率和缩放级别数目可以直接知道最小和最大的缩放级别displayProjection:显示的投影级别,与mouseposition控件结合使用,即设置mouseposition 显示使用的坐标系// create a map with default options in an element with the id"map1"var map = new OpenLayers.Map("map1");// create a map with non-default options in an element with id"map2"var options = {maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000,200000),//最大显示范围maxResolution: 156543,//最大分辨率units: 'm',//projection: "EPSG:41001"};var map = new OpenLayers.Map("map2", options);// map with non-default options - same as above but with a singleargumentvar map = new OpenLayers.Map({div: "map_id",maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000,200000),maxResolution: 156543,units: 'm',projection: "EPSG:41001"});// create a map without a reference to a container - call renderlatervar map = new OpenLayers.Map({maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000,200000),maxResolution: 156543,units: 'm',projection: "EPSG:41001"});六:Marker45.Marker 包括一个OpenLayers.LonLat和OpenLayers,Icon,注意:标记一般都是添加到一个特殊的图层,即yer.Markers使用方法:方法一:var markers = new yer.Markers( "Markers" );map.addLayer(markers);var size = new OpenLayers.Size(21,25);var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);var icon = newOpenLayers.Icon('/dev/img/marker.png', size, offset);markers.addMarker(new OpenLayers.Marker(newOpenLayers.LonLat(0,0),icon));markers.addMarker(new OpenLayers.Marker(newOpenLayers.LonLat(0,0),icon.clone()));方法二:var markers = new yer.Markers( "Markers" );map.addLayer(markers);markers.addMarker(new OpenLayers.Marker(newOpenLayers.LonLat(0,0),newOpenLayers.Icon('/dev/img/marker.png')));注意:标记不能使用同样的图标,但是可以使用clone()方法实现对图标的克隆46.Box 用矩形做标记,同样box要添加到Boxes这个图层里面Q:下面这个程序为什么没有效果?var boxes = new yer.Boxes( "Boxes" );map.addLayer(boxes);var bounds = new OpenLayers.Bounds(-10,50,5,60);var box = new OpenLayers.Marker.Box(bounds);//box.events.register("click", box, function (e) {// this.setBorder("yellow");// });boxes.addMarker(box);七:Popup47.Popup 构造函数参数有六个:ID、lonlat、contentSize、contentHTML、closeBox、closeBoxCallbackpopup = new OpenLayers.Popup("chicken",//标识符new OpenLayers.LonLat(5,40),//在地图上的弹出位置new OpenLayers.Size(200,200),//弹出的提示框的大小"example popup",//提示框中显示的内容true);//是否显示关闭框map.addPopup(popup);通过使用下面的方法,可以在标记中添加点击事件,点击时弹出提示框marker.events.register("click", marker, function (e) {map.addPopup(popup);popup.show();//如果不加这个方法,popup只有在第一次点击marker的时候才会出现,之后点击都没有效果});48.FramedCloud 继承Popup,弹出的形状与Popup是不一样的framedcloud = new OpenLayers.Popup.FramedCloud("chicken",//标识符new OpenLayers.LonLat(5,40),//在地图上的弹出位置new OpenLayers.Size(200,200),//弹出的提示框的大小"example popup",//提示框中显示的内容null,true);//是否显示关闭框map.addPopup(framedcloud);49.Anchored50.AnchoredBubble八:Icon51.Icon (图标)重要属性:url图片源、size图片大小、offset偏移量图标一般与marker结合使用Q:能不能将图标与其他控件结合?能!var size = new OpenLayers.Size(21,25);//用来控制图标的大小var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);//用来控制图标的偏移量var icon = new OpenLayers.Icon('/dev/img/marker.png', size, offset);//定义图标九:Layer52.Layer (图层)..\openlayers\openlayers的类与方法.doc53.ArcGIS93Rest 使用ESRI的ArcGIS Server 9.3地图服务中显示的数据54.ArcIMS 使用ESRI公司的ArcIMS地图服务中显示的数据55.Bing 使用ESRI的Bing地图56.Boxes 为box提供图层方法:drawMarker、removeMarker57.GeoRSS 添加GeoRSS点功能58.GML 通过解析GML文件创建一个适量图层注意:过时,在3.0中被移除59.Google 构造函数中的参数:name显示的名称、options例子:var ghyb = newyer.Google("Google Hybrid",{type: G_HYBRID_MAP, sphericalMercator: true});60.Grid 使用瓷砖晶格层的基类61.VirtureEarth例子:var veroad = newyer.VirtualEarth("Virtual Earth Roads",{'type': VEMapStyle.Road, sphericalMercator:true});var veaer = new yer.VirtualEarth("Virtual Earth Aerial",{'type': VEMapStyle.Aerial, sphericalMercator:true});var vehyb = new yer.VirtualEarth("Virtual Earth Hybrid",{'type': VEMapStyle.Hybrid, sphericalMercator:true});62.Yahoo例子:var yahoo = newyer.Yahoo("Yahoo Street",{sphericalMercator: true});var yahoosat = new yer.Yahoo("Yahoo Satellite",{'type': YAHOO_MAP_SAT, sphericalMercator: true});var yahoohyb = new yer.Yahoo("Yahoo Hybrid",{'type': YAHOO_MAP_HYB, sphericalMercator:true});63.WMSyer.WMS实例是用来显示OGC Web地图服务的数据。
openlayers feature文字
openlayers feature文字在OpenLayers中,Feature是一个表示地图上对象的基础概念。
它包含两个主要的属性:geometry和attributes。
其中,geometry表示Feature的空间位置,而attributes则包含了Feature的属性信息。
如果你想在OpenLayers的Feature上添加文字,可以通过以下方式实现:1.使用ol.Feature类创建Feature对象,并设置其geometry和attributes。
2.使用ol.style.Style类为Feature提供样式,其中包括文字样式。
你可以使用ol.style.Text类来设置文字样式,包括文字内容、字体、颜色、位置等。
3.将样式应用到Feature上,可以通过设置Feature的style属性来实现。
你可以使用ol.style.Style类的实例作为Feature的样式。
下面是一个简单的示例代码,展示如何在OpenLayers的Feature上添加文字:javascript// 创建Feature对象var feature = new ol.Feature({geometry: new ol.geom.Point([lon, lat]), // 设置空间位置name: '示例文字'// 设置属性信息});// 创建文字样式var textStyle = new ol.style.Text({text: feature.get('name'), // 获取属性信息作为文字内容font: '12px Calibri,sans-serif',fill: new ol.style.Fill({ color: 'black' }),stroke: new ol.style.Stroke({ color: 'white', width: 2 })});// 创建样式对象并将文字样式应用到其中var style = new ol.style.Style({image: new ol.style.Circle({radius: 5,fill: new ol.style.Fill({ color: 'blue' })}),text: textStyle // 将文字样式应用到样式对象中});// 将样式应用到Feature上feature.setStyle(style);// 将Feature添加到矢量图层中进行渲染vectorLayer.getSource().addFeature(feature);在上面的示例中,我们首先创建了一个Feature对象,并设置了其空间位置和属性信息。
openlayers 解析 geojson readfeatures -回复
openlayers 解析geojson readfeatures -回复在使用OpenLayers解析GeoJSON数据并读取特征时,有几个关键步骤需要跟随。
GeoJSON是一种用于表示地理空间数据的开放标准,它使用JSON格式来存储地理特征。
1. 首先,你需要加载OpenLayers库。
可以通过在HTML文件的头部引入OpenLayers的CDN链接来实现。
例如:html<script src="2. 创建一个包含地图的容器。
在HTML文件的body部分,创建一个div 元素,作为地图显示的容器。
例如:html<div id="map" style="width: 100; height: 500px;"></div>3. 在JavaScript文件中,初始化地图对象并指定地图的视图设置和目标容器。
例如:javascriptvar map = new ol.Map({target: 'map',view: new ol.View({center: [0, 0],zoom: 2})});4. 使用OpenLayers加载并解析GeoJSON数据文件。
首先,创建一个地图的数据源对象,并将GeoJSON文件的URL作为参数传入。
然后,创建一个矢量层,并将数据源对象添加到该图层上。
最后,将图层添加到地图上。
例如:javascriptvar vectorSource = new ol.source.Vector({format: new ol.format.GeoJSON(),url: 'path/to/your/geojson/file.geojson'});var vectorLayer = new yer.Vector({source: vectorSource});map.addLayer(vectorLayer);5. 创建一个回调函数,以在解析完成后处理特征数据。
openlayer中addoverlay的用法
openlayer中addoverlay的用法OpenLayers中addOverlay方法的用法OpenLayers是一个强大的开源JavaScript库,用于在Web浏览器中创建互动地图应用程序。
它提供了丰富的功能和工具,能够轻松地集成地图、标注、图层等元素,并实现与地图的交互。
其中,addOverlay方法是OpenLayers库中一个非常实用的功能,用于在地图上添加覆盖层。
覆盖层是地图上的一个元素,不会随地图的缩放和平移而发生变化。
它可以用于在地图上显示额外的信息、标记特定的位置、展示地理数据等。
addOverlay方法的作用就是向地图中添加一个覆盖层。
使用addOverlay方法的语法如下:```map.addOverlay(overlay)```其中,map是OpenLayers地图对象,overlay是要添加的覆盖层对象。
要使用addOverlay方法,首先需要创建一个Overlay对象,可以使用OpenLayers中的Overlay类来实现。
Overlay类有几个重要的属性和方法,以下是创建一个Overlay对象的基本步骤:1. 创建要显示在地图上的HTML元素或DOM对象。
2. 创建一个Overlay对象,并将HTML元素或DOM对象作为参数传递给构造函数。
3. 根据需要设置Overlay对象的其他属性,如位置、大小、偏移量等。
4. 使用map.addOverlay(overlay)将Overlay对象添加到地图中。
下面是一个示例,演示如何使用OpenLayers中的addOverlay方法:```JavaScript// 创建地图var map = new OpenLayers.Map("map");// 创建地图图层var baseLayer = new yer.OSM();map.addLayer(baseLayer);// 创建覆盖层var overlayElement = document.createElement("div");overlayElement.innerHTML = "这是一个覆盖层";overlayElement.style.width = "100px";overlayElement.style.height = "50px";overlayElement.style.backgroundColor = "rgba(255, 255, 255, 0.5)";var overlay = new OpenLayers.Overlay({element: overlayElement,position: new OpenLayers.LonLat(0, 0).transform("EPSG:4326", "EPSG:900913"),size: new OpenLayers.Size(100, 50),offset: new OpenLayers.Pixel(-50, -25),autoPan: true});// 将覆盖层添加到地图中map.addOverlay(overlay);```在这个示例中,首先创建了一个简单的地图对象,并添加了一个OSM图层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Format:此类用于读/写各种格式的数据,它的子类都分别创建了各个格式的解析器。这些格式有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。
Geometry:怎么翻译呢,几何?是对地理对象的描述。它的子类有Collection、Curve、LinearRing、LineString、 MultiLineString、MultiPoint、MultiPolygon、Point、Polygon、Rectangle、Surface,正是这些类的实例,构成了我们看到的地图。需要说明的是,Surface 类暂时还没有实现。
Events:用于实现OpenLayers的事件机制。具体来说,OpenLayers中的事件分为两种,一种是浏览器事件,例如mouseup,mousedown之类的;另外一种是自定义的,如addLayer之类的。OpenLayers中的事件机制是非常值得我们学习的,后面将具体讨论。
Feature:我们知道:Feature是geography 和attributes的集合。在OpenLayers中,特别地OpenLayers.Feature 类由一个marker 和一个lonla组成。OpenLayers. Feature.WFS与OpenLayers. Feature. Vector继承于它。
Console:OpenLayers.Console,此名称空间用于调试和把错误等输出到“控制台”上,需要结合使用../Firebug/firebug.js。
Control:我们通常所说的控件类,它提供各种各样的控件,比如上节中说的图层开关LayerSwitcher,编辑工具条EditingToolbar等等。加载控件的例子:
Icon:在计算机屏幕上以图标的形式呈现,有url、尺寸size和位置position3个属性。一般情况,它与 OpenLayers.Marker结合应用,表现为一个Marker。
Layer:图层。
Map:网页中动态地图。它就像容器,可向里面添加图层Layer和控件Control。实际上,单个Map是毫无意义的,正是Layer和Control成就了它。
Tile:设计这个类用于指明单个“瓦片”Tile,或者更小的分辨率。Tiles存储它们自身的信息,比如url和size等。它的类继承关系如下:
Util:“跑龙套”的类。
写到这里,可以看到OpenLayers 的类缠绕的挺麻烦的,接下来的文章将从代码部分分析更细部的东西。
Marker:它的实例是OpenLayers.LonLat 和OpenLayers.Icon的集合。通俗一点儿说,Icon附上一定的经纬度就是Marker。
Popup:地图上一个小巧的层,实现地图“开关”功能。使用例子:
Class = new OpenLayers.Popup("chicken",
我们看到在类的顶层“高高在上”的是OpenLayers,它为整个项目实现提供名称空间(JavaScript语言没有名称空间一说,但是它确实有自己的机制实现类似的功能,后面会说明),它直接拥有一常量 VERSION_NUMBER,以标识版本。
Ajax:顾名思义,用于实现Ajax功能,只是OpenLayers的开发者们把它单独写到一个类里了,其中用到了Prototype.js框架里的一些东西。同时,设计的时候也考虑了跨浏览器的问题。
OpenLayers 项目完整分析——(二)源代码总体结构分析
(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道Openlayers是什么,能够做什么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。
这个图是从它的文档上截取的,旨在从感官上认识一下OpenLayers的类。下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧):
map.addPopup(popup);
Renderer:渲染类。在OpenLayers中,渲染功能是作为矢量图层的一个属性存在的,我们称之为渲染器,矢量图层就是通过这个渲染器提供的方法将矢量数据显示出来。以SVG和VML为例,继承关系是这样的:
至于OpenLayers. Renderer. Elements为什么要存在,以及它的渲染机制,后面会说。
Handler:这个类用于处理序列事件,可被激活和取消。同时,它也有命名类似于浏览器事件的方法。当一个handler 被激活,处理事件的方法就会被注册到浏览器监听器listener ,以响应相应的事件;当一个handler被取消,这些方法在事件监听器中也会相应的被取消注册。Handler通过控件control被创建,而control通过icon表现。
ห้องสมุดไป่ตู้
BaseTypes:这里定制了OpenLayers中用到的string,number 和 function。比如,OpenLayers. String. startsWith,用于测试一个字符串是否一以另一个字符串开头;OpenLayers. Number. limitSigDigs,用于限制整数的有效数位;OpenLayers. Function.bind,用于把某一函数绑定于对象等等。
class = new OpenLayers.Map('map', { controls: [] });
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MouseToolbar());
new OpenLayers.LonLat(5,40),
new OpenLayers.Size(200,200),
"example popup",
true);