百度地圖(9)-地圖事件


1. 百度地圖API提供的事件還是很齊全的, 基本上包括了所需要的各種可能。

 

2. 地圖事件一般是對 map 對象添加 EventListener, 當然添加了也可以刪除。對不同的點擊不同的業務邏輯,可以先把

以前的事件刪除,再添加新的業務邏輯。

1   function showinfo(e){
2     console.log(e.point.lng + "," + e.point.lat);
3     //map.removeEventListener("click",showinfo);
4   };
5 
6   /**
7    * 地圖點擊事件
8    */
9   map.addEventListener("click",showinfo);

 

3. 代碼

  1   function showinfo(e){
  2     console.log(e.point.lng + "," + e.point.lat);
  3     //map.removeEventListener("click",showinfo);
  4   };
  5 
  6   /**
  7    * 地圖點擊事件
  8    */
  9   //map.addEventListener("click",showinfo);
 10 
 11   map.addEventListener("dblclick",function () {
 12     console.log("dblclick event.");
 13     map.removeEventListener("dblclick");
 14   });
 15 
 16   /**
 17    * 右鍵單擊事件
 18    */
 19   map.addEventListener("rightclick",function () {
 20     console.log("rightclick");
 21   });
 22 
 23   /**
 24    * 右鍵雙擊事件
 25    */
 26   map.addEventListener("rightdblclick",function () {
 27     console.log("rightdblclick");
 28   });
 29 
 30   /**
 31    * 鼠標移動
 32    **/
 33   map.addEventListener("mousemove",function () {
 34     console.log("mousemove event.");
 35     map.removeEventListener("mousemove");
 36   });
 37 
 38   /**
 39    * 鼠標移入地圖
 40    */
 41   map.addEventListener("mouseover",function () {
 42     console.log("mouseover");
 43   });
 44 
 45   /**
 46    * 鼠標移出地圖
 47    */
 48   map.addEventListener("mouseout",function () {
 49     console.log("mouseout");
 50   });
 51 
 52   /**
 53    * 移動開始
 54    */
 55   map.addEventListener("movestart",function () {
 56     console.log("movestart");
 57   });
 58 
 59   /**
 60    * 移動中
 61    */
 62   map.addEventListener("moving",function () {
 63     console.log("moving");
 64   });
 65 
 66   /**
 67    * 移動結束
 68    */
 69   map.addEventListener("moveend",function () {
 70     console.log("moveend");
 71   });
 72 
 73   /**
 74    * 縮放開始事件
 75    */
 76   map.addEventListener("zoomstart",function () {
 77     console.log("地圖縮放開始至" + this.getZoom()+"級");
 78   });
 79 
 80   /**
 81    * 縮放結束事件
 82    */
 83   map.addEventListener("zoomend",function () {
 84     console.log("地圖縮放結束至" + this.getZoom()+"級");
 85   });
 86 
 87   /**
 88    * 添加覆蓋物
 89    */
 90   map.addEventListener("addoverlay",function () {
 91     console.log("addoverlay");
 92   });
 93 
 94   /**
 95    * 刪除覆蓋物
 96    */
 97   map.addEventListener("removeoverlay",function () {
 98     console.log("removeoverlay");
 99   });
100 
101   /**
102    * 清除覆蓋物
103    */
104   map.addEventListener("clearoverlay",function () {
105     console.log("clearoverlay");
106   });
107 
108   /**
109    * 添加控件
110    */
111   map.addEventListener("addcontrol",function () {
112     console.log("addcontrol");
113   });
114 
115   /**
116    * 刪除控件
117    */
118   map.addEventListener("removecontrol",function () {
119     console.log("removecontrol");
120   });
121 
122   /**
123    * 拖拽開始
124    */
125   map.addEventListener("dragstart",function () {
126     console.log("dragstart");
127   });
128 
129   /**
130    * 拖拽移動中
131    */
132   map.addEventListener("dragging",function () {
133     console.log("dragging");
134   });
135 
136   /**
137    * 拖拽結束
138    */
139   map.addEventListener("dragend",function () {
140     console.log("dragend");
141   });
142 
143   /**
144    * 添加自定義圖層
145    */
146   map.addEventListener("addtilelayer",function () {
147     console.log("addtilelayer");
148   });
149 
150   /**
151    * 刪除自定義圖層
152    */
153   map.addEventListener("removetilelayer",function () {
154     console.log("removetilelayer");
155   });
156 
157   /**
158    * 調用Map.centerAndZoom()方法時會觸發此事件。這表示位置、縮放層級已經確定,但可能還在載入地圖圖塊
159    */
160   map.addEventListener("load",function () {
161     console.log("load");
162   });
163 
164   /**
165    * 地圖可視區域變化大小
166    */
167   map.addEventListener("resize",function () {
168     console.log("resize");
169   });
170 
171   /**
172    * 地圖所有圖塊都加載完成時觸發此事件
173    */
174   map.addEventListener("tilesloaded",function () {
175     console.log("tilesloaded");
176   });
177 
178 
179   /**
180    * 點擊熱區觸發事件
181    */
182   map.addEventListener("hotspotclick",function () {
183     console.log("hotspotclick");
184   });
185 
186   /**
187    * 移至熱區觸發事件
188    */
189   map.addEventListener("hotspotover",function () {
190     console.log("hotspotover");
191   });
192 
193   /**
194    * 移出區觸發事件
195    */
196   map.addEventListener("hotspotout",function () {
197     console.log("hotspotout");
198   });
199 
200   /**
201    * 觸摸開始時觸發此事件,僅適用移動設備
202    */
203   map.addEventListener("touchstart",function () {
204     console.log("touchstart");
205   });
206 
207   /**
208    * 觸摸移動時觸發此事件,僅適用移動設備
209    */
210   map.addEventListener("touchmove",function () {
211     console.log("touchmove");
212   });
213 
214   /**
215    * 觸摸結束時觸發此事件,僅適用移動設備
216    */
217   map.addEventListener("touchend",function () {
218     console.log("touchend");
219   });
220 
221   /**
222    * 長按事件,僅適用移動設備
223    */
224   map.addEventListener("longpress",function () {
225     console.log("longpress");
226   });

 

4. 代碼參考

https://github.com/WhatGIS/bdMap

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM