日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【百度地图API】如何判断点击的是地图还是覆盖物?

發布時間:2025/3/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【百度地图API】如何判断点击的是地图还是覆盖物? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:【百度地圖API】如何判斷點擊的是地圖還是覆蓋物?

摘要:很多API愛好者問我,為什么我點擊的是marker,而map也會響應該事件呢?怎樣才能判斷,我點擊的是標注,還是地圖呢?下面一起來看看。

?

------------------------------------------------------------

先看看地圖有哪些事件,查看官網類參考,翻到事件:

?

大家看到這里的參數了麼?

其實,在點擊物體時,通過這些參數就能夠判斷所點擊的物體是什么了。

?

用marker舉例:

先創建一個marker

//覆蓋物Markervar pmk = new BMap.Point(116.249472,39.946583);var mk = new BMap.Marker(pmk);map.addOverlay(mk);

?

?

然后對地圖添加點擊事件,如果判斷出來是覆蓋物,就彈出相應的對話框。

map.addEventListener("click",function(e){if(e.overlay){alert('你點擊的是覆蓋物:'+e.overlay.toString()); }else{alert('你點擊的是地圖');}});

?

?

?

?

添加一堆覆蓋物,然后給每個覆蓋物寫點擊事件。

?

?

比如我點擊了多邊形,就會彈出這個。

?

?

?

全部源代碼:

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>點擊事件</title> <script type="text/javascript" src="http://api.map.baidu.com/api?key=v=1.3"></script> </head><body><!--百度地圖容器--><div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"></div> </body> <script type="text/javascript">var map = new BMap.Map("dituContent");var point = new BMap.Point(116.331398,39.897445);map.centerAndZoom(point,12);map.enableScrollWheelZoom();map.addEventListener("click",function(e){if(e.overlay){alert('你點擊的是覆蓋物:'+e.overlay.toString()); }else{alert('你點擊的是地圖');}});//覆蓋物Markervar pmk = new BMap.Point(116.249472,39.946583);var mk = new BMap.Marker(pmk);map.addOverlay(mk);//覆蓋物Labelvar plb = new BMap.Point(116.408149,39.958087);var lb = new BMap.Label('我是覆蓋物Label',{point:plb});map.addOverlay(lb);//覆蓋物Polylinevar pl = new BMap.Polyline([new BMap.Point(116.250047,39.919583),new BMap.Point(116.441494,39.919583)],{strokeWeight:10})map.addOverlay(pl);//覆蓋物Polygonvar pg = new BMap.Polygon([new BMap.Point(116.248323,39.893016),new BMap.Point(116.440344,39.893016),new BMap.Point(116.440344,39.811036),new BMap.Point(116.248323,39.811036)]);map.addOverlay(pg);</script> </html>

總結

以上是生活随笔為你收集整理的【百度地图API】如何判断点击的是地图还是覆盖物?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。