最近在做一個GIS路線查詢頁面,要用到地圖,開始想用GOOGLE,但中國地圖還是百度比較詳細
第一步:引用百度API的JS庫
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
第二步:建立放置地圖的DIV
<div id="clientmap" style="width: 100%; height: 100%"></div>
第三步:建立地圖
var map = new BMap.Map("clientmap"); //建立地圖執行個體
到這裡就可以開始實現地圖,接下來是地圖的一些常用操作
map.addControl(new BMap.NavigationControl()); //添加預設縮放平移控制項map.addControl(new BMap.ScaleControl()); //添加預設比例尺控制項map.addControl(new BMap.OverviewMapControl()); //添加預設縮減地圖控制項 map.addControl(new BMap.MapTypeControl()); //2D圖,衛星圖 map.enableScrollWheelZoom(); //啟用滾輪放大縮小,預設禁用map.enableContinuousZoom();
位址解析器執行個體
var myGeo = new BMap.Geocoder(); //建立位址解析器執行個體myGeo.getPoint(data.rows[i].address, function (point) { // 將位址解析結果顯示在地圖上,並調整地圖視野
if (point) { map.centerAndZoom(point, 10); //設定中心點並按係數放大 }}, "");
建立標註並點擊標註彈出資訊提示
//資訊內容var sContent = "<table>" +"<tr><td>客戶名稱:</td><td>" + data.rows[i].name + "</td></tr>" +"<tr><td>連絡人:</td><td>" + data.rows[i].linkman + "</td></tr>" +"<tr><td>手機號碼:</td><td>" + data.rows[i].mobile + "</td></tr>" +"<tr><td>固定電話:</td><td>" + data.rows[i].phone + "</td></tr>" +"<tr><td>傳真:</td><td>" + data.rows[i].fax + "</td></tr>" +"<tr><td>Email:</td><td>" + data.rows[i].email + "</td></tr>" +"<tr><td>客戶地址:</td><td>" + data.rows[i].address + "</td></tr>" +"</table>";var marker = new BMap.Marker(point); // 建立標註var infoWindow = new BMap.InfoWindow(sContent); // 建立資訊視窗對象marker.addEventListener("click", function () { // 標註點擊開啟資訊視窗 this.openInfoWindow(infoWindow);});
map.addOverlay(marker); // 將標註添加到地圖中
將折線添加到地圖中
var polyline = new BMap.Polyline([points, point]); //折線藍色、寬度為6map.addOverlay(polyline); // 將折線添加到地圖中