Una posible forma de hacer esto es con Google Places, un nuevo API experimental (de momento).
Para cargar el API debemos cambiar en nuestro fichero html la línea
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
por
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=true"></script>
Después podemos usar la siguiente función:
function buscarMasNoticias() {
var map = nioos.map;
var bounds = map.getBounds();
var placesService = new google.maps.places.PlacesService(map);
placesService.search(
{bounds: bounds},
function(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
var name = place.name;
var vicinity = place.vicinity;
var location = place.geometry.location;
var busqueda = name + " " + vicinity;
buscarNoticias(busqueda, location);
}
}
}
);
}
var map = nioos.map;
var bounds = map.getBounds();
var placesService = new google.maps.places.PlacesService(map);
placesService.search(
{bounds: bounds},
function(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
var name = place.name;
var vicinity = place.vicinity;
var location = place.geometry.location;
var busqueda = name + " " + vicinity;
buscarNoticias(busqueda, location);
}
}
}
);
}
Lo importante aqui es crear el objeto "PlacesService", para poder usar luego el método "search", al que le pasaremos como parámetro los bordes del mapa que se está motrando (var bounds = map.getBounds();).
De los resultados recogemos el nombre y la localización y procedemos con la búsqueda de noticias, tal y como hemos hecho antes.
No hay comentarios:
Publicar un comentario