1. 程式人生 > >調用百度地圖

調用百度地圖

eve com con ons 默認 經緯 set tel nco

示例圖

技術分享圖片

代碼

<!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: "微軟雅黑"; } #l-map { height: 800px; width: 100%; float: left; } #r-result { width: 20%; } </style> <script type="
text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=yoursecret"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?ak=您的秘鑰"></script> <title>拾取地址的坐標</title> </head> <body> <div id="r-result"> 請輸入地址:
<br /> <input type="text" id="txtKeyword" /> <br /> <button onclick="searchAddr()">搜索</button> </div> <div id="l-map"></div> </body> </html> <script type="text/javascript"> // 百度地圖API功能 map = new BMap.Map("l-map"); // 創建Map實例 map.centerAndZoom("{$address}", 12); map.enableScrollWheelZoom(); //啟用滾輪放大縮小,默認禁用 map.enableContinuousZoom(); //啟用地圖慣性拖拽,默認禁用 map.addControl(new BMap.NavigationControl()); //添加默認縮放平移控件 map.addControl(new BMap.OverviewMapControl()); //添加默認縮略地圖控件 map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT })); //右下角,打開 local = new BMap.LocalSearch(map, { renderOptions: { map: map, autoViewport: true, selectFirstResult: false }, pageCapacity: 10 }); myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), { offset: new BMap.Size(10, 25), imageOffset: new BMap.Size(0, 0 - 10 * 25) }); var keys = new Array("{$address}"); local.setSearchCompleteCallback(function (searchResults) { console.log(searchResults); if (typeof (searchResults) == "undefined") { alert("百度API沒有搜索到該地址"); return; } if (searchResults.length > 0) { var searchResult = searchResults[0]; } else { var searchResult = searchResults; } console.log(searchResult); var contents = []; for (var i = 0; i < searchResult.getCurrentNumPois(); i++) { //獲得需要得到的坐標 var poi = searchResult.getPoi(i); if (!poi) { alert("百度API沒有搜索到該地址"); } // console.log(poi); //設置中心點 map.centerAndZoom(poi.point, 13); // 創建標註,為要查詢的地方對應的經緯度 var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat), { icon: myIcon }); //alert("["+poi.point.lng+","+poi.point.lat+"]"); //在地圖上添加標識 map.addOverlay(marker); //點擊標識後顯示的內容 contents[i] = "你要查找的地方:【" + poi.title + "】<br/>地址:" + poi.address + "<br/>經度:" + poi.point.lng + "<br/>緯度:" + poi.point.lat; marker.setTitle(contents[i]); //添加點擊事件監聽 marker.addEventListener("click", makerClick); if (i == 0) { var infoWindow = new BMap.InfoWindow("<p style=‘font-size:14px;‘>" + contents[0] + "</p>"); marker.openInfoWindow(infoWindow); } } }); local.search(keys); var makerClick = function () { var infoWindow = new BMap.InfoWindow("<p style=‘font-size:14px;‘>" + this.getTitle() + "</p>"); this.openInfoWindow(infoWindow); } function searchAddr() { var keys = document.getElementById("txtKeyword").value; local.search(keys); } </script>

調用百度地圖