在Google Map中显示多个Marker并画出Polygon
2015-05-30 23:13
351 查看
有时需要在地图显示多个位置并画出多段线
实现后截图:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Google Maps Multiple Markers</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px;"></div>
<script type="text/javascript">
var PathData = [
["hello1",49.2761419673641, -123.118069007778],
["hello2",49.2791259862655, -123.129144031353],
["hello3",49.2704849721733, -123.125236002048],
["hello4",49.2732990317854, -123.117229946411],
["hello5",49.2761419673641, -123.118069007778]
];
function initialize() {
// - set map
var map =
new google.maps.Map(document.getElementById('map'));
// - set info window -- will be used in marker click event
var infowindow = new google.maps.InfoWindow();
// - set middle path data to center
var center =
new google.maps.LatLng(PathData[2][1], PathData[2][2]);
// - set markers
var marker, i;
for (i = 0; i < PathData.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(PathData[i][1], PathData[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(PathData[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
// - set polygon
var path = [];
var bounds = new google.maps.LatLngBounds();
bounds.extend(center);
for (var i in PathData)
{
var p = PathData[i];
var latlng = new google.maps.LatLng(p[1], p[2]);
path.push(latlng);
bounds.extend(latlng);
}
var poly = new google.maps.Polygon({
paths: path,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: '#FF0000',
fillOpacity: 0.1
});
poly.setMap(map);
map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</body>
</html>
实现后截图:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Google Maps Multiple Markers</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px;"></div>
<script type="text/javascript">
var PathData = [
["hello1",49.2761419673641, -123.118069007778],
["hello2",49.2791259862655, -123.129144031353],
["hello3",49.2704849721733, -123.125236002048],
["hello4",49.2732990317854, -123.117229946411],
["hello5",49.2761419673641, -123.118069007778]
];
function initialize() {
// - set map
var map =
new google.maps.Map(document.getElementById('map'));
// - set info window -- will be used in marker click event
var infowindow = new google.maps.InfoWindow();
// - set middle path data to center
var center =
new google.maps.LatLng(PathData[2][1], PathData[2][2]);
// - set markers
var marker, i;
for (i = 0; i < PathData.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(PathData[i][1], PathData[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(PathData[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
// - set polygon
var path = [];
var bounds = new google.maps.LatLngBounds();
bounds.extend(center);
for (var i in PathData)
{
var p = PathData[i];
var latlng = new google.maps.LatLng(p[1], p[2]);
path.push(latlng);
bounds.extend(latlng);
}
var poly = new google.maps.Polygon({
paths: path,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: '#FF0000',
fillOpacity: 0.1
});
poly.setMap(map);
map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</body>
</html>
相关文章推荐
- 欧拉工程第46题:Goldbach's other conjecture
- hdu1394
- 试验如何通过审核Google AdSense——我跟谷歌ads杠上啦
- go环境配置
- Project Euler: Problem 9 Special Pythagorean triplet
- Django笔记(5) -- 站点管理
- Dive into Category
- hdu1754
- DragonBoard810使用记录
- Google Chrome快捷键大全
- Gossip算法
- Google 日历短信通知没有了
- Recommend for Reviewing design doc-from How Google Test Software
- (EM算法)The EM Algorithm
- 解决sdk更新问题 dl-ssl.google.com
- Google Chrome的使用感受
- Django笔记(4)-- Django的MTV模式
- 欧拉工程第45题:Triangular, pentagonal, and hexagonal
- 欧拉工程第44题:Pentagon numbers
- Django笔记---模板的使用