2012-08-12 37 views
6

使用Google地图API,如何设置巴士站图标为可点击并在信息窗口中显示巴士号码服务?我可以在Google Map网站上看到它已启用。但是,当我使用Map API创建自己的代码时,它似乎默认禁用?在Google地图中启用可点击的巴士站图标

如果我没有说清楚,请参阅图片链接。

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

左边是在maps.google.com网站地图,而右侧是我实现的谷歌地图。正如你所看到的,与其他屏幕截图不同,我不能点击我实现的公交站点。

任何帮助将不胜感激。

+0

嘿同胞Sgporean。我想我正面临同样的问题。如果我找到任何东西,将更新。 – mauris 2012-09-06 04:08:09

回答

2

现在,你不能得到它的工作。这是在GMAP的API的“承认”错误:https://code.google.com/p/gmaps-api-issues/issues/detail?id=145

你会发现,在对API网站官方过境层的代码演示,也没有互动:https://developers.google.com/maps/documentation/javascript/examples/layer-transit

+0

我可以向您澄清一下吗?在回答“使用Google Map API时,我的答案失败的方式是什么?如何设置公交站点图标是可点击的?” – PBoillot 2013-12-04 20:47:55

+0

对不起,我失败了。 – 2013-12-05 18:41:22

1

您可以获取巴士站名称,ID和坐标,然后使用任何其他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 
     } 
    }); 
    }); 
相关问题