如:已經建立了一個map實例,var map = new BMap.Map("allmap"),其中,"allmap"是節點id
1.設置城市中心點javascript
- 在初始化地圖中心點時,最好不要使用中文地址名稱,而是使用座標,像這樣:
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
不然可能出現設置使點顯示在最佳視野的語句不起做用的狀況。
2.使全部標註點顯示在最佳視野中php
- map.setViewport(pointsArray);
其中:參數pointsArray是點(而不是覆蓋物)的數組,點即經過new BMap.Point()語句實例獲得的。
例如,經過以下方式獲得點的數組:
var pointsArray = [];
pointsArray.push(new BMap.Point(parseFloat(經度), parseFloat(緯度)));
parseFloat是將其轉換爲浮點數
3.頁面dom元素與地圖上面覆蓋物的聯動html
- 添加覆蓋物,並建立數組存儲覆蓋物對象,再給dom節點添加鼠標移入移出事件,同時,經過索引來處理對應的覆蓋物對象。(備註:當節點沒有對應的座標時,index就會沒法正確對應)
var marker = new BMap.Marker(new BMap.Point(parseFloat(經度), parseFloat(緯度)));
var markerArray = [];
markerArray.push(marker);
$('#wrapper').off('mouseenter', 'a').on('mouseenter', 'a', function(ev) { var ind = $(this).parents('tr').index(); //設置點的彈跳動畫 pointsMarker[ind].setAnimation(BMAP_ANIMATION_BOUNCE); }); $('#wrapper').on('mouseleave', 'a', function(ev) { var ind = $(this).parents('tr').index(); //取消點的彈跳動畫 pointsMarker[ind].setAnimation(); });
- 其中,.off('mouseenter', 'a')是防止事件重複綁定,形成屢次執行的狀況。
4.清空地圖上面的全部覆蓋物java
- 語句:map.clearOverlays();
百度地圖API連接:http://lbsyun.baidu.com/index.php?title=jspopular
類參考(詳細api):http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.htmlapi