选择替代路线可减少缩放

时间:2012-12-25 23:33:52

标签: jquery google-maps-api-3 tabs zoom directions

我正在使用google maps api v3和jquery mobile。我有一个页面,其中tab1显示带有路线的地图,tab2显示路线详细信息(setPanel)。当我为响应调用setDirections时,一切都很好。地图居中,缩放也正确。当我导航到详细信息并选择备用路线并按Tab1返回到地图以查看新路线时,缩放关闭。为什么会这样?我可以做些什么让它起作用吗?

1 个答案:

答案 0 :(得分:1)

当未显示地图时改变方向(到备用路线)时,它的大小错误(当隐藏时,其大小会报告给API为零)。您需要在显示"resize" event on the map之后触发它。

来自文档:

  

调整大小 - 当div更改大小时,开发人员应在地图上触发此事件:google.maps.event.trigger(map,'resize')。

更新: 看起来,当隐藏地图并且未设置边界时,directions_changed事件不会触发。显示地图时手动设置边界似乎有效。

function refresh(map) {
  google.maps.event.trigger(map, 'resize');
  var routeIndex = globVars.directionsDisplay.getRouteIndex();
  var routes  = globVars.directionsDisplay.getDirections().routes;
  globVars.map.fitBounds(routes[routeIndex].bounds);    
  alert('resize');                    
}

jsfiddle