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 下即是 腳本源碼;