百度地图 api 功能封装类 (ZMap.js) 新增管理事件功能 [源码下载]
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();
源码下载
源码下载:https://files.cnblogs.com/editor/baiduMap3.rar
本项目源码采用 SpringMvc+Maven搭建,src/main/webapps 下即是 脚本源码;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!