Элегантное решение проблемы нашел сам:
Создаем поверх карты слой 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); //получаем координаты по значениям X,Y клика
var request = {
location: location,
types: ['bus_station','subway_station'], //нам нужны только автобусные остановки, и метро
radius: 10,
};
placesService = new google.maps.places.PlacesService(map);
placesService.search(request, function(result, status, pagination){ //ищем по близости объект по координатам, в 10 метрах от клика
station = result[0];
if(typeof station != 'undefined'){
pos = station.geometry['location'];
bus_no = station.name.match(/\[([0-9]+)\]/i)[1]; //получаем ID автобусной остановки, он обычно среди []
alert(bus_no); // А вот и наша остановка
}
});
});
Удачи, надеюсь кому нибудь пригодится!