在網頁中引入百度地圖

1:首先最簡單的方法是直接上百度的網站上,使用地圖生成器就可以產生了,詳細的操作可以參考:http://api.map.baidu.com/lbsapi/creatmap/index.html,在選定了地點後直接點擊獲取代碼就可以得到一個html的代碼,然後將其嵌入到web項目中。


2:一下則是我導出的百度地圖的代碼,有少許修改:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="百度地圖,百度地圖API,百度地圖自定義工具,百度地圖所見即所得工具" />
<meta name="description" content="百度地圖API自定義地圖,幫助用戶在可視化操作下生成百度地圖" />
<title>百度地圖API自定義地圖</title>
<!--引用百度地圖API-->
<style type="text/css">
html, body {
margin: 0;
padding: 0;
}

.iw_poi_title {
color: #CC5522;
font-size: 14px;
font-weight: bold;
overflow: hidden;
padding-right: 13px;
white-space: nowrap
}

.iw_poi_content {
font: 12px arial, sans-serif;
overflow: visible;
padding-top: 4px;
white-space: -moz-pre-wrap;
word-wrap: break-word
}

#dituContent{
width: 100%; 
height: 50em; 
border: #ccc solid 1px;
}

@media screen and (min-width: 100px) and (max-width: 1020px) {
#dituContent{
width:100%;
height:400px;
}
}
</style>
<script type="text/javascript"
src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>
</head>

<body>
<!--百度地圖容器-->
<div id="dituContent">
</div>


</body>
<script type="text/javascript">
//創建和初始化地圖函數:
function initMap() {
createMap();//創建地圖
setMapEvent();//設置地圖事件
addMapControl();//向地圖添加控件
addMarker();//向地圖中添加marker
addPolyline();//向地圖中添加線
addRemark();//向地圖中添加文字標註
}


//創建地圖函數:
function createMap() {
var map = new BMap.Map("dituContent");//在百度地圖容器中創建一個地圖
var point = new BMap.Point(114.346729, 29.854705);//定義一箇中心點座標
map.centerAndZoom(point, 17);//設定地圖的中心點和座標並將地圖顯示在地圖容器中
window.map = map;//將map變量存儲在全局
}


//地圖事件設置函數:
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);
}


//標註點數組
var markerArr = [ {
title : "湖北科技學院圖書館學術報告廳",
content : "大會的主講場地",
point : "114.345193|29.85512",
isOpen : 0,
icon : {
w : 21,
h : 21,
l : 0,
t : 0,
x : 6,
lb : 5
}
} ];
//創建marker
function addMarker() {
for (var i = 0; i < markerArr.length; i++) {
var json = markerArr[i];
var p0 = json.point.split("|")[0];
var p1 = json.point.split("|")[1];
var point = new BMap.Point(p0, p1);
var iconImg = createIcon(json.icon);
var marker = new BMap.Marker(point, {
icon : iconImg
});
var iw = createInfoWindow(i);
var label = new BMap.Label(json.title, {
"offset" : new BMap.Size(json.icon.lb - json.icon.x + 10, -20)
});
marker.setLabel(label);
map.addOverlay(marker);
label.setStyle({
borderColor : "#808080",
color : "#333",
cursor : "pointer"
});


(function() {
var index = i;
var _iw = createInfoWindow(i);
var _marker = marker;
_marker.addEventListener("click", function() {
this.openInfoWindow(_iw);
});
_iw.addEventListener("open", function() {
_marker.getLabel().hide();
})
_iw.addEventListener("close", function() {
_marker.getLabel().show();
})
label.addEventListener("click", function() {
_marker.openInfoWindow(_iw);
})
if (!!json.isOpen) {
label.hide();
_marker.openInfoWindow(_iw);
}
})()
}
}
//創建InfoWindow
function createInfoWindow(i) {
var json = markerArr[i];
var iw = new BMap.InfoWindow(
"<b class='iw_poi_title' title='" + json.title + "'>"
+ json.title + "</b><div class='iw_poi_content'>"
+ json.content + "</div>");
return iw;
}
//創建一個Icon
function createIcon(json) {
var icon = new BMap.Icon(
"http://app.baidu.com/map/images/us_mk_icon.png",
new BMap.Size(json.w, json.h), {
imageOffset : new BMap.Size(-json.l, -json.t),
infoWindowOffset : new BMap.Size(json.lb + 5, 1),
offset : new BMap.Size(json.x, json.h)
})
return icon;
}
//標註線數組
var plPoints = [
{
style : "solid",
weight : 4,
color : "#f00",
opacity : 0.6,
points : [ "114.344924|29.850735", "114.343648|29.852974",
"114.345373|29.854729", "114.345319|29.855057",
"114.345355|29.85501" ]
},
{
style : "solid",
weight : 4,
color : "#0ff",
opacity : 0.6,
points : [ "114.335545|29.853617", "114.336983|29.854478",
"114.337414|29.853804", "114.338294|29.854572",
"114.339157|29.854337", "114.340666|29.854744",
"114.341762|29.854729", "114.342822|29.854807",
"114.343361|29.855151", "114.34354|29.856138",
"114.343343|29.856812", "114.343325|29.856718" ]
},
{
style : "solid",
weight : 4,
color : "#0ff",
opacity : 0.6,
points : [ "114.343334|29.856757", "114.343298|29.85707",
"114.34354|29.857963", "114.3439|29.857994",
"114.344349|29.857289", "114.344286|29.856271",
"114.34451|29.85584", "114.344933|29.855653",
"114.345112|29.855535", "114.345346|29.8553",
"114.345364|29.855081", "114.345265|29.855136" ]
},
{
style : "solid",
weight : 4,
color : "#f0f",
opacity : 0.6,
points : [ "114.348032|29.856177", "114.346954|29.856036",
"114.346505|29.855911", "114.34584|29.855739",
"114.345606|29.855613", "114.345409|29.855097" ]
} ];
//向地圖中添加線函數
function addPolyline() {
for (var i = 0; i < plPoints.length; i++) {
var json = plPoints[i];
var points = [];
for (var j = 0; j < json.points.length; j++) {
var p1 = json.points[j].split("|")[0];
var p2 = json.points[j].split("|")[1];
points.push(new BMap.Point(p1, p2));
}
var line = new BMap.Polyline(points, {
strokeStyle : json.style,
strokeWeight : json.weight,
strokeColor : json.color,
strokeOpacity : json.opacity
});
map.addOverlay(line);
}
}
//文字標註數組
var lbPoints = [ {
point : "114.345391|29.855613",
content : "湖北康華互聯科技有限公司"
} ];
//向地圖中添加文字標註函數
function addRemark() {
for (var i = 0; i < lbPoints.length; i++) {
var json = lbPoints[i];
var p1 = json.point.split("|")[0];
var p2 = json.point.split("|")[1];
var label = new BMap.Label("<div style='padding:2px;'>"
+ json.content + "</div>", {
point : new BMap.Point(p1, p2),
offset : new BMap.Size(3, -6)
});
map.addOverlay(label);
label.setStyle({
borderColor : "#999"
});
}
}


initMap();//創建和初始化地圖
</script>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章