刚刚开始将我们的地图从 API 的 V2 转换为 v3。
到目前为止遇到的一个问题是,当 InfoWindow 打开并放大地图时,InfoWindow 将移出地图并最终不可见,这与 V2 中的行为不同。在 V2 中,InfoWindow 始终处于可见状态。
V2 地图: http: //www.stroud.gov.uk/docs/housing/tenant_map_v2.asp
V3 地图: http: //www.stroud.gov.uk/docs/housing/tenant_map_v3.asp
只需单击任何标记以打开它的信息窗口,然后使用普通缩放控件放大地图。
有没有办法保持 V2 地图中的行为?
谢谢,迈克
我想出了一个可行的解决方案。URL 如上,但使用tenant_map.asp
var currentInfoWindow = null; // new global scope variable to hold current open infoWindow
在我添加的 google.maps.event.addListener(newMarker, "click" 函数中:
currentInfoWindow = this;
添加一个 zoom_changed 监听器:
google.maps.event.addListener(theMap, "zoom_changed", function () {
if (currentInfoWindow != null) {
infoWindow.open(theMap, currentInfoWindow);
}
});
和一个 infoWindow closeclick 监听器:
google.maps.event.addListener(infoWindow, "closeclick", function () {
currentInfoWindow = null;
});
似乎工作正常,缩放时做一点平移,但这是我迄今为止唯一要做的事情。
它看起来不如V2地图,所以如果其他人有更好的解决方案,请发布。