ZMap 功能说明

ZMap.js 本类方法功能大多使用 prototype 原型 实现;

包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐标是否在一个圆圈内,生活服务查询,
从经纬度获取地址信息,地图工具包括测距,获取面积,以积打印地图,地图全屏,实时路况,坐标是否在polygon区域内,
打车方案,经过中间途经点,添加地图控件;

界面查看 : http://www.cnblogs.com/editor/p/4080517.html

相关新增代码

1. defaults 代码块:

ZMap.defaults = {
city : '泉州',
level: 12
};

地图初始化时,如果未设置相关地理坐标时,默认显示位置及级别;

2. 事件 块代码:

ZMap.addListener = function(obj,type,callback) {
ZMap.events.add('Main', obj, type, callback);
}; /**
* 1. add => key: method_objName[x]
* eg: GuiJiPlay_polyline
* 2. ZMap.mapObj => key: Main
* 3. caches => key : method_objName[x]_type || Main_type
*/
ZMap.events = {
caches : {},
add : function(key,obj,type,callback) {
obj.addEventListener(type, callback);
this.caches[key+'_'+type] = {'obj':obj, 'type':type, 'callback':callback};
},
remove : function(key, type) {
this.removeByKey(key+'_'+type);
},
removeByKey : function(keytype) {
if (this.caches[key]) {
var json = this.caches[keytype];
json['obj'] && json['obj'].removeEventListener(json['type'], json['callback']); delete this.caches[key];
}
},
clear : function () {
for (keytype in this.caches) {
this.removeByKey(keytype);
} this.caches = {};
}
};

ZMap.addListener 现在只用于 ZMap.mapObj 地图的事件添加操作;

ZMap.events 可以用于所有对象的事件操作,添加,删除,清除所有事件;

ZMap.evetns 说明

1. caches 为 json 格式 对象;用于缓存 添加事件,格式为:

{
'Main_click': {'obj':map, type'click', 'callback':callback},
'GuiJiPlay_polyline_click':{'obj':polyline, type'click', 'callback':callback}
}

key 为 add 方法中的 key + '_' + 事件类型 type;

2. add方法参数说明:

1>. key: 如果是 ZMap.mapObj 则 key 为 Main; 如果为其他,则自定义,一般为 当前: '功能方法_对象名称', 比如 'GuiJiPlay_polyline';

2>. obj 为 要添加事件的对象,所有地图对象都可以添加 事件;

3>. type 为事件类型:click, dblclick, dragend 等

4>. callback 为回调方法;

3.  remove 方法,key 跟 add 方法参数 key 一样; type 为事件类型;

4. clear 方法,清除地图及相关控件,Overlay 等设置的所有事件;

使用方法

var polyline = ZMap.addPolyline(points);

//添加事件
ZMap.events.add('Test_polyline', polyline, 'click', function(e) {
alert('测试事件添加');
}); //删除事件
ZMap.events.remove('Test_polyline', 'click');
//或
ZMap.events.removeByKey('Test_polyline_click'); //清空所有事件
ZMap.events.clear();

源码下载

源码下载:http://files.cnblogs.com/editor/baiduMap3.rar

本项目源码采用 SpringMvc+Maven搭建,src/main/webapps 下即是 脚本源码;

百度地图 api 功能封装类 (ZMap.js) 新增管理事件功能 [源码下载]的更多相关文章

  1. 百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例 [源码下载]

    相关说明 1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载] 2. 功能说明: 百度地图整合功能分享修正版[ZMap.js] 实例源码! ZMap.js 本类方法功能大多使用 ...

  2. 百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例

    百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例 相关说明 1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载] 2. 功能说明: 百度地图整合功能分享修 ...

  3. 【百度地图API】情人节求爱大作战——添加标注功能

    原文:[百度地图API]情人节求爱大作战--添加标注功能 任务描述: 2月2日是除夕,2月14立马来!即将到来的情人节,你想送TA一份什么礼物呢? 不如,在你们居住的地方,画个大大的桃心,表达你对TA ...

  4. 【百度地图API】如何给自定义覆盖物添加事件

    原文:[百度地图API]如何给自定义覆盖物添加事件 摘要: 给marker.lable.circle等Overlay添加事件很简单,直接addEventListener即可.那么,自定义覆盖物的事件应 ...

  5. leaflet结合turf.js实现多边形分割(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  6. openlayers5-webpack 入门开发系列结合 turf.js 实现等值线(附源码下载)

    前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...

  7. [百度地图] 用于类似 DWZ UI 框架的 百度地图 功能封装类 [MultiZMap.js] 实例源码

    MultiZMap 功能说明 MultiZMap.js 本类方法功能大多使用 prototype 原型 实现,它是 ZMap 的多加载版本,主要用于类似 DWZ 这个 多标签的 UI 的框架: 包含的 ...

  8. 百度地图API和高德地图API资料集锦

    [高德地图API]从零开始学高德JS API(五)路线规划——驾车|公交|步行   [高德地图API]从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自 ...

  9. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. centos下yum搭建安装linux+apache+mysql+php环境

    一.脚本YUM源安装: 1.yum install wget                                                     #安装下载工具wget 2.wge ...

  2. Java SWT 做计算器。

    java  --  swt  - -  计算器 环境搭建 安装java.eclipse.以及对应的swt插件. 开始工程 建立工程: 在java下建立一个在其他 —- WindowsBuilder — ...

  3. centos6.7 安装Docker

      一.查看系统版本 [root@localhost ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 二.安装EPEL 1.进入cento ...

  4. UVA 103 Stacking Boxes --LIS

    实际上是一个扩展维度的矩形嵌套问题. 一个物体能嵌入另一个物体中,当且仅当这个物体的所有维度的长度都小于另外一个(本题是小于等于),又因为可以旋转等变换,所以干脆将每个箱子的边从小到大排序,以便于判断 ...

  5. MySQL数据库学习笔记(二)----MySQL数据类型

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  6. WIN7系统自带截图工具SnippingTool

    在无网络的情况下,无QQ情况下,如何截图?以及如何设置快捷键? 方法 首先,我们在“开始”菜单最上面找到它,如图: 找不到也没关系 C:\Windows\system32\SnippingTool.e ...

  7. python基础随笔

    一: 作用域 对于变量的作用域,只要内存中存在,该变量就可以使用. 二:三元运算 name = 值1 if 条件 else 值2 如果条件为真:result = 值1 如果条件为假:result = ...

  8. Python-操作Memcache、Redis、RabbitMQ、

    Memcache 简述: Memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要 ...

  9. php基础31:正则匹配-元字符

    <?php //2.正则表达式:元字符 $model = "/php/"; $string = "php"; // 1.元字符 [a-z] 匹配任何a-z ...

  10. 神奇的main方法详解

    main函数的详解:    public : 公共的. 权限是最大,在任何情况下都可以访问.        原因: 为了保证让jvm在任何情况下都可以访问到main方法.    static:  静态 ...