var gmarkers = [];
function zoomOnMarker(markers, map) {
for (var i = 0; i < markers.length; i++) {
markers[i].addListener('click', function() {
map.setZoom(15);
map.setCenter(this.getPosition());
});
}
}
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < beaches.length; i++) {
var beach = beaches[i];
var marker = new google.maps.Marker({
position: {
lat: beach[1],
lng: beach[2]
},
map: map,
title: beach[0]
});
bounds.extend(marker.getPosition());
gmarkers.push(marker);
}
map.fitBounds(bounds);
zoomOnMarker(gmarkers, map);
}
google.maps.event.addDomListener(window, "load", initialize);
var beaches = [
['Bondi Beach', -33.890542, 151.274856, 4],
['Coogee Beach', -33.923036, 151.259052, 5],
['Cronulla Beach', -34.028249, 151.157507, 3],
['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
['Maroubra Beach', -33.950198, 151.259302, 1]
];
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
ありがとうございます!非常に有用な、この問題に実行すると、私はjavascriptでクロージャの意味のいくつかを把握するのに役立ちました:) –