百度地圖聚合點加點擊事件


在做項目的時候需要用到聚合點  看完聚合點的時候有需要詳情

下面是效果

代碼

<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html {
width: 100%;
height: 100%;
margin: 0;
font-family: "微軟雅黑";
}

#allmap {
width: 100%;
height: 500px;
}

p {
margin-left: 5px;
font-size: 14px;
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
<title>點聚合</title>
</head>

<body>
<div id="allmap"></div>
<p>縮放地圖,查看點聚合效果</p>
</body>

</html>
<script type="text/javascript">
// 百度地圖API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 4); 
map.enableScrollWheelZoom(); 
var myIcon2 = new BMap.Icon("tb1_0.png", new BMap.Size(30, 40)); 
var data = [{ "mapy": "32.94584", "mapx": "112.894350", "time": "12:30" },
{ "mapy": "33.34683", "mapx": "112.694300", "time": "11:30" },
{ "mapy": "33.54702", "mapx": "112.094380", "time": "10:30" }, 
{ "mapy": "33.148780", "mapx": "116.494390", "time": "13:30" }
]; 
var markers = new Array(); 

$.each(data, function(i, item) { 
var point = new BMap.Point(item.mapx, item.mapy); 
var marker = new BMap.Marker(point);
var content = item.time; 
addClickHandler(content, marker); //添加點擊事件

markers.push(marker); 

});

//添加聚合效果。
var markerClusterer = new BMapLib.MarkerClusterer(map, {markers:markers});

var opts = {
width : 250, // 信息窗口寬度
height: 80, // 信息窗口高度
title : "信息窗口" , // 信息窗口標題
enableMessage:true//設置允許信息窗發送短息
};



function addClickHandler(content,marker){
marker.addEventListener("click",function(e){

openInfo(content,e)}
);
}


function openInfo(content,e){
var p = e.target;
var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
var infoWindow = new BMap.InfoWindow(content,opts); // 創建信息窗口對象 
map.openInfoWindow(infoWindow,point); //開啟信息窗口
}</script>

 


免責聲明!

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



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