我正试图通过gmaps4rails gem在我的地图上打开我的第一个标记。 使用其页面中的侧边栏示例:
function createSidebarLi(json) {
return ("<li><a>" + json.title + "</a> (" + json.categories + "...)</li>");
};
function bindLiToMarker($li, marker) {
$li.on('click', function () {
handler.getMap().setZoom(14);
marker.setMap(handler.getMap()); //because clusterer removes map property from marker
marker.panTo();
google.maps.event.trigger(marker.getServiceObject(), 'click');
})
};
handler = Gmaps.build('Google');
handler.buildMap({provider: {
mapTypeId: google.maps.MapTypeId.ROADMAP},
internal: {
id: 'map_sidebar'}}, function () {
var json_array = <%= raw @hash.to_json %>;
var markers = handler.addMarkers(json_array);
_.each(json_array, function (json, index) {
json.marker = markers[index];
});
createSidebar(json_array);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
由于他们的版本切换,我有点困惑。有时它是serviceObject,然后它是getServiceObject,-...
我觉得这样的事情
marker.infowindow.open(map, marker.serviceObject);
或者
markers[0].getServiceObject()
markers[0].panTo()
应该有用吗?
有人可以帮帮我吗?
非常感谢!
答案 0 :(得分:0)
在buildMap
回调
google.maps.event.trigger(markers[0].getServiceObject(), 'click');