Maps API v3 Nearby place search and setInterval
Drop place search result markers at a defined time interval - http://stackoverflow.com/questions/29739752
by Alex Azuero
HTML
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<div id="map-canvas"></div>
CSS
#map-canvas {
height: 400px;
}
JavaScript
var map;
var infowindow = new google.maps.InfoWindow();
function initialize() {
var center = new google.maps.LatLng(59.32522, 18.07002);
var mapOptions = {
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: center
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var request = {
location: center,
radius: '5000',
types: ["store", "bank"]
};
service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);
}
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var i = 0;
var interval = setInterval(function () {
setMarker(results[i]);
i++;
if (i === results.length) clearInterval(interval);
}, 1000);
}
}
function setMarker(place) {
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
initialize();