OpenLayers.Map的一些特殊事件

  开年上班的第二天,无意中看到一些没见过的事件,特地来给广大人民群众报个信。

  众所周知的,map里面的 eventListeners 支持的事件挺多的,比如:

 1 var map = new OpenLayers.Map({
 2     div: "map",
 3     allOverlays: true,
 4     layers: [layer1, layer2],
 5     zoom: 6,
 6     center: [0, 0],
 7     eventListeners: {
 8     move:function(){}
 9     moveend:
10     click:
11     mouseover:
12     zoomend:
13      .
14      .
15      .
16     //太多了,太简单了,不写了。
17     }
18 });

效果和平常我们看到的效果一样,就是那样。但是,但是,但是重点来了。我们看看一些再api上面没有的事件

 1 eventListeners: {
 2         featureclick: function(e) {//这里的e是个对象传了进来,而下面就不是。
 3             log("Map says: " + e.feature.id + " clicked on " + e.feature.layer.name);
 4             console.log(e);
 5         },
 6         click:function(e){
 7             log(console.log(e));
 8         },
 9
10     }

再来看下面的console结果,很清楚的可以看到一个是对象(要素),还有一个就是普通的事件对象。

像这样的事件事件还有很多,比如:featureover、featureout等等。这些在api上找不到的东西,其实我们可以去lib上面看源码。只要想学习,路子很多,找找就有了。

欢迎来 传奇上帝 瞧瞧

时间: 2024-10-12 12:57:28

OpenLayers.Map的一些特殊事件的相关文章

openlayers中多边形注册click事件后无法在上面拖动地图

如果大家用的是openlayers2.X版本的话,会遇到一个常见的问题,就是当你为一个vector图层实例化一个选择控件时,当鼠标在该图层上拖动地图时会失效,这个问题困扰了我好久,突然一天群里以为网友也遇到了这个问题,并通过谷歌解决此问题,还是谷歌厉害,下面给出解决方案. selectControl.handlers.feature.stopDown = false; highlightCtrl.handlers.feature.stopDown = false;

openlayers实现多图显示

概述: 本文讲述在openlayers中如何实现多图联动. 思路: 1.判断鼠标在哪个地图上: 2.添加该地图的地图移动事件: 3.设置另外一个地图的bound为该地图的. 代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>openlayers map</title> <link rel=&q

OpenLayers 3 之 添加地图鼠标右键菜单

添加右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu,当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 contextmenu 事件的回调函数中实现相应的显示菜单功能即可. 那么在 openlayers 中,在地图中添加这个事件,我们从哪里下手呢?首先我们得了解 openlayers 的初始化页面的过程. openlayers 初始化页面过程 openlayers 也是一个前端库,那么它肯定离不开 html 的运用

HT for Web整合OpenLayers实现GIS地图应用

HT for Web作为逻辑拓扑图形组件自身没有GIS功能,但可以与各种GIS引擎即其客户端组件进行融合,各取所长实现逻辑拓扑和物理拓扑的无缝融合,本章将具体介绍HT for Web与开发免费的OpenLayers地图结合应用的关键技术点,该文介绍的结合的原理,其实还可推广到与ArcGIS.百度地图以及GoogleMap等众多GIS地图引擎融合的解决方案. 以上抓图为本文介绍的例子最终运行效果,接下来我们一步步来实现,首选显示地图信息需要有城市经纬度数据,搜索了下感谢此篇博客提供的数据.这么大量

HTML5 网络拓扑图整合 OpenLayers 实现 GIS 地图应用

在前面<百度地图.ECharts整合HT for Web网络拓扑图应用>我们有介绍百度地图和 HT for Web 的整合,我们今天来谈谈 OpenLayers 和 HT for Web 的整合. HT for Web作为逻辑拓扑图形组件自身没有GIS功能,但可以与各种GIS引擎即其客户端组件进行融合,各取所长实现逻辑拓扑和物理拓扑的无缝融合,本章将具体介绍HT for Web与开发免费的OpenLayers地图结合应用的关键技术点,该文介绍的结合的原理,其实还可推广到与ArcGIS.百度地图

openlayers实现在线编辑

概述: 在前面有篇博文讲述了基于Arcgis for js和wkt实现在线数据的采集和编辑功能,在本文讲述如何在openlayers实现类似的功能.上一篇博文的地址为: http://blog.csdn.net/gisshixisheng/article/details/44310765 思路: 前后台的数据交互以wkt的形式,加载已完成对象用wkt,对象更新完成之后将geometry转换为wkt传给后台,将信息保存到数据库中.实现在线编辑主要为OpenLayers.Control.Modify

OpenLayers中长度测量和面积测量等功能的实现

功能要求如下:要求能在给定地图上测量长度和面积.此处实现主要是调用Openlayers接口实现. 一.界面设置 在HTML界面中设置好测量按钮的布局,代码如下图所示: <divclass="measureoptions"> <input type="button"id="measureButton" onClick="measureClick()" checked="false" valu

openlayers自定义图层控制的实现

好久没写博文了,今天出来冒个泡. 最近一直在考虑一件事情,那就是openlayers中自定义wms的图层控制.用过openlayers的人都知道,在openlayers中有自带的图层控制的控件,调用方法也很简单: map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':true}));//图层控制 但是,不论是从操作的方便程度还是美观性方面考虑,自带的图层控制是无法满足需求的,考虑了一段时间,今天终于有时间实现了,下面就说

Openlayers 2 取消鼠标缩放地图的功能

需要实现的功能: 取消鼠标缩放地图,即滚动鼠标的滚轮地图没有响应事件,只能用鼠标平移地图 版本:OpenLayers 2.13.1 测试代码直接用官方例子http://dev.openlayers.org/releases/OpenLayers-2.13.1/examples/osm.html 直接上代码 原始代码: var map, layer; function init(){ map = new OpenLayers.Map( 'map'); layer = new OpenLayers.