<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" />
