Включить значки автобусных остановок, на которые можно щелкнуть в Картах Google.

Как с помощью Google Map API сделать значки автобусных остановок кликабельными и отображать службы номеров автобусов в информационном окне? Я вижу на сайте Google Map, он включен. Но когда я создаю свой собственный код с помощью Map API, кажется, что это отключено по умолчанию?

Если я не ясно выразился, см. ссылку на изображение.

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

Слева — карта на сайте maps.google.com, а справа — моя реализация Google Maps. Как видите, я не могу щелкнуть автобусную остановку в своей реализации, в отличие от другого снимка экрана.

Любая помощь приветствуется.


person jcagumbay    schedule 12.08.2012    source источник
comment
эй, товарищ Сгпореан. Я думаю, что столкнулся с той же проблемой. Обновлю, если что-нибудь найду.   -  person mauris    schedule 06.09.2012


Ответы (2)


Пока вы не можете заставить его работать. Это «подтвержденная» ошибка в API gmap: https://code.google.com/p/gmaps-api-issues/issues/detail?id=145

Вы заметите, что в их официальной демонстрации кода уровня транзита на сайте API также нет интерактивности: https://developers.google.com/maps/documentation/javascript/examples/layer-transit..

person PBoillot    schedule 02.12.2013
comment
Могу я попросить у вас разъяснений? Каким образом мой ответ не дает ответа Используя API Карт Google, как я могу сделать значки автобусных остановок кликабельными? - person PBoillot; 05.12.2013
comment
Извините, я что-то не так. - person Donato Szilagyi; 05.12.2013

Вы можете получить название автобусной станции, идентификатор и координаты, а затем получить информацию об автобусной остановке с помощью любого другого API. Вот код:

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
      }
    });
  });
person Andrew Velichko    schedule 06.05.2015