2012-08-12 21 views
6

Utilizando Google Map API, ¿cómo puedo configurar los iconos de parada de bus para que se pueda hacer clic y mostrar los servicios de número de bus en una ventana de información? Puedo ver en el sitio Google Map, está habilitado. Pero cuando creo mi propio código usando Map API, parece que esto está deshabilitado por defecto?Habilitar iconos de parada de bus en los que se puede hacer clic en Google Maps

Si no me estoy aclarando, vea el enlace de la imagen.

https://dl.dropbox.com/u/46360728/diff.maps.png

de la izquierda es el mapa en el sitio maps.google.com, mientras que a la derecha está mi aplicación de Google Maps. Como puede ver, no puedo hacer clic en la estación de autobuses de mi implementación a diferencia de la otra captura de pantalla.

Cualquier ayuda sería muy apreciada.

+0

hey fellow Sgporean. Creo que estoy enfrentando el mismo problema. Se actualizará si encuentro algo. – mauris

Respuesta

2

Por ahora no puede hacer que funcione. Es un error 'reconocido' en la API de gmap: https://code.google.com/p/gmaps-api-issues/issues/detail?id=145

Notarás que en su demo oficial de código de capa de tránsito en el sitio de la API, tampoco hay interactividad: https://developers.google.com/maps/documentation/javascript/examples/layer-transit.

+0

¿Podría pedirle una aclaración? ¿De qué manera falla mi respuesta al responder "Usando Google Map API, ¿cómo puedo configurar los íconos de parada de bus para hacer clic?" – PBoillot

+0

Lo siento, fallé algo. –

1

Puede obtener el nombre, la identificación y las coordenadas de la estación de autobús, y luego obtener información sobre la parada del autobús con cualquier otra API. Aquí está el código:

var overlay; 
overlay = new google.maps.OverlayView(); 
overlay.draw = function() {}; 
overlay.setMap(map); 

$('#map-canvas').click(function(event){ 
    var point = new google.maps.Point(event.pageX,event.pageY); 
    var location = overlay.getProjection().fromContainerPixelToLatLng(point); //get map coordinates by click 

    var request = { 
     location: location, 
     types: ['bus_station','subway_station'], //get bus stops and metro stations 
     radius: 10, 
    }; 
    placesService = new google.maps.places.PlacesService(map); 
    placesService.search(request, function(result, status, pagination){ 
     station = result[0]; 
     if(typeof station != 'undefined'){ 
     pos = station.geometry['location']; //position 
     bus_no = station.name.match(/\[([0-9]+)\]/i)[1]; //get ID by name 
     alert(bus_no); // ID 
     } 
    }); 
    }); 
Cuestiones relacionadas