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. 第一次wubi安装Ubuntu的经历及所走的弯路

    #安装目标:利用xp存储剩余空间安装ubuntu, 形成双系统. 整理出待安装的磁盘空间 #需要无损磁盘工具, 用了"傲梅分区助手", 偷懒没有选其他高大上的英文软件. XP下硬盘 ...

  2. UVA 10827 Maximum sum on a torus (LA)

    算法入门经典训练指南88页练习 ::这道题只要把原矩阵扩大4倍,那么其跟最大子矩阵的题目就很类似,把二维转化成一维,求最大的序列和,不过这个序列的长度不能超过n. 长度不能超过n? 那这道题又跟hdu ...

  3. UVALive - 2965 Jurassic Remains (LA)

    Jurassic Remains Time Limit: 18000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu [Sub ...

  4. Android中的Shape使用总结

    参考:http://www.cnblogs.com/gzggyy/archive/2013/05/17/3083218.html 在Android程序开发中,我们经常会去用到Shape这个东西去定义各 ...

  5. selenium如何解决IE自动填充表单问题

    有时候用selenium会碰到自动填充表单的问题,如输入用户名后,密码自动填充,此时再填充密码会导致登录失败,解决办法:每个输入框都调用clear()方法

  6. 【ASP.NET 基础】ASP.NET内置对象

    准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...

  7. 合工大OJ 1330 种树

    Description 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2, ...

  8. js统计字符串中各种字符情况

    问题描述:在一个字符串中,统计出大写字母.小写字母.数字和其他字符各数.这个算法以前在学习java的时候,老师说过,而且说了四种算法.在孔乙己的世界里,茴香豆的"茴"字有四种写法嘛 ...

  9. codeforces 480B B. Long Jumps(贪心)

    题目链接: B. Long Jumps time limit per test 1 second memory limit per test 256 megabytes input standard ...

  10. java 16-1 ArrayList的练习1

    需求: ArrayList去除集合中字符串的重复值(去掉相同的字符串) 分析: 第一种做法:创建一个新的空集合: A:创建1个具有相同字符串的集合 B:创建1个空的集合 C:遍历第一个集合里面的元素 ...