<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>javascript
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>css
刪除百度的logo,覆蓋樣式便可html
.anchorBL {
display: none;
}java
//根據輸入地址肯定經緯度 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" />api