<script type="text/javascript"> //創建和初始化地圖函數 var map = new BMap.Map("home");//在百度地圖容器中創建一個地圖 function initMap() { createMap();//創建地圖 setMapEvent();//設置地圖事件 addMapControl();//向地圖添加控件 } var opts = { width: 250, // 信息窗口寬度 height: 100, // 信息窗口高度 title: "Hello" // 信息窗口標題 } //顯示彈框信息 function ShowForm(info) { var infoWindow = new BMap.InfoWindow(info, opts); // 創建信息窗口對象 map.openInfoWindow(infoWindow, map.getCenter()); // 打開信息窗口 } //創建地圖函數: function createMap() { var point = new BMap.Point(116.404, 39.915);//定義一個中心點坐標 map.centerAndZoom(point, 17);//設定地圖的中心點和坐標並將地圖顯示在地圖容器中 window.map = map;//將map變量存儲在全局 var marker = new BMap.Marker(point); // 創建標注 map.addOverlay(marker); // 將標注添加到地圖中 addMarker(point, 0); ShowForm("111111111111111"); //監聽標注事件mouseover marker.addEventListener("mouseover", function () { ShowForm("333333333333"); //alert("您點擊了標注121"); }); //可托拽的標注 //marker.enableDragging(); //marker.addEventListener("dragend", function (e) { // alert("當前位置1:" + e.point.lng + ", " + e.point.lat); //}) } //map.addEventListener("click", function () { // alert("您點擊了地圖。"); //}); // 創建圖標對象 function addMarker(point, index) { var myIcon = new BMap.Icon("markers.png", new BMap.Size(23, 25), { // 指定定位位置。 // 當標注顯示在地圖上時,其所指向的地理位置距離圖標左上 // 角各偏移10像素和25像素。您可以看到在本例中該位置即是 // 圖標中央下端的尖角位置。 offset: new BMap.Size(10, 25), // 設置圖片偏移。 // 當您需要從一幅較大的圖片中截取某部分作為標注圖標時,您 // 需要指定大圖的偏移位置,此做法與css sprites技術類似。 imageOffset: new BMap.Size(0, 0 - index * 25) // 設置圖片偏移 }); // 創建標注對象並添加到地圖(可以自定義圖片) //var marker = new BMap.Marker(point, { icon: myIcon }); //map.addOverlay(marker); } //地圖事件設置函數: function setMapEvent() { map.enableDragging();//啟用地圖拖拽事件,默認啟用(可不寫) map.enableScrollWheelZoom();//啟用地圖滾輪放大縮小 map.enableDoubleClickZoom();//啟用鼠標雙擊放大,默認啟用(可不寫) map.enableKeyboard();//啟用鍵盤上下左右鍵移動地圖 } //地圖控件添加函數: function addMapControl() { //向地圖中添加縮放控件 var ctrl_nav = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_LARGE }); map.addControl(ctrl_nav); //向地圖中添加縮略圖控件 var ctrl_ove = new BMap.OverviewMapControl({ anchor: BMAP_ANCHOR_BOTTOM_RIGHT, isOpen: 1 }); map.addControl(ctrl_ove); //向地圖中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT }); map.addControl(ctrl_sca); } initMap();//創建和初始化地圖 </script>
<div title="歡迎使用" style="padding: 20px; overflow: hidden;" id="home">
</div>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>
刪除百度的logo,覆蓋樣式即可
.anchorBL {
display: none;
}
//根據輸入地址確定經緯度 var localSearch = new BMap.LocalSearch(map); localSearch.enableAutoViewport(); //允許自動調節窗體大小 function searchByStationName() { map.clearOverlays();//清空原來的標注 var keyword = document.getElementById("text_").value; localSearch.setSearchCompleteCallback(function (searchResult) { var poi = searchResult.getPoi(0); document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat; map.centerAndZoom(poi.point, 13); var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat)); // 創建標注,為要查詢的地方對應的經緯度 map.addOverlay(marker); var content = document.getElementById("text_").value + "<br/><br/>經度:" + poi.point.lng + "<br/>緯度:" + poi.point.lat; var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>" + content + "</p>"); marker.addEventListener("mouseover", function () { this.openInfoWindow(infoWindow); }); }); localSearch.search(keyword); }
要查詢的地址:<input id="text_" type="text" value="寧波天一廣場" style="margin-right:100px;"/>
查詢結果(經緯度):<input id="result_" type="text" />