2011-09-17

Mostrar más noticias en el mapa

Podemos mostrar más noticias en nuestro mapa si somos capaces de recoger de alguna forma lugares proximos.

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);
                }
            }
        }
    );
}

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