forked from dunizb/CodeTest
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfootprint.html
213 lines (206 loc) · 6.54 KB
/
footprint.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的足迹</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body{margin:0px;padding:0px}
#container{border:1px solid grey;height:550px}
</style>
<script src="http://api.map.baidu.com/api?v=2.0&ak=wAXe6n1e7ByUvVvyahsR2dC9d3gwNEaU" type="text/javascript"></script>
</head>
<body>
<h1>我的足迹</h1>
<div id="container"></div>
</body>
<script type="text/javascript">
function initMap(){
createMap();//创建地图
setMapEvent();//设置地图事件
addMapControl();//向地图添加控件
addMarker();//向地图中添加marker
}
//创建地图
function createMap(){
var map = new BMap.Map("container"); // 创建地图实例
var point = new BMap.Point(101.488859,33.393234);//定义一个中心点坐标
map.centerAndZoom(point,5);//设定地图的中心点和坐标并将地图显示在地图容器中
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_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
map.addControl(ctrl_sca);
}
//标注点数组
var markerArr = [{
title:"杭州市",
content:"杭州市、杭州西湖景区",
point:"120.171467|30.257352",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"乌镇",
content:"乌镇西栅、东栅",
point:"120.490268|30.757066",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"苏州市",
content:"苏州博物馆、山塘街、忠王府、拙政园等",
point:"120.635894|31.330387",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"昆山市",
content:"阳澄湖",
point:"120.835913|31.409886",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"衡阳市",
content:"整个衡阳",
point:"112.576672|26.899646",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"长沙市",
content:"长沙市、湖南农业大学、湖南环境生物机电学院、湖南大众传媒学院、湖南艺术职业技术学院",
point:"112.948208|28.233716",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"邵阳市",
content:"邵东县",
point:"111.961661|26.987796",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"广州市",
content:"广州市、天河、西关、电视塔、白云山、上下九等",
point:"113.370828|23.130788",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"东莞市",
content:"大岭山、松山湖",
point:"113.845618|22.905876",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"厦门市",
content:"厦门大学、鼓浪屿、普陀山/寺、环岛路、胡里山炮台等",
point:"118.142483|24.497133",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"成都市",
content:"成都市、大熊猫繁育基地",
point:"104.071216|30.663546",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"婺源",
content:"南昌、婺源",
point:"117.86664|29.282911",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"天津市",
content:"天津市",
point:"117.223736|39.140848",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"北京市",
content:"天安门/广场、八达岭长城、故宫、天坛、西单、颐和园、圆明园遗址公园",
point:"116.405505|39.913005",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"西安市",
content:"西安市区、华山",
point:"108.981951|34.283749",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"腾格里沙漠",
content:"内蒙古阿拉善",
point:"105.864047|38.865403",
isOpen:0,
icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
},{
title:"上海市",
content:"上海市",
point:"121.473338|31.233094",
isOpen:1,
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;
}
initMap();
</script>
</html>