我的Google地图以路线为中心,由路线服务部门提供并由方向渲染器渲染(此处称为directionsDisplay)。
根据我阅读过的文档以及许多主题和论坛,infoWindow应该以3.0版为中心(我正在使用)。
我等待所有回调被调用,我试图在gmaps tileloaded-Event被触发时打开窗口,以及空闲事件。
无论如何:地图中心始终围绕着路线(因此将信息窗推出视口)。
我在这里做错了什么?
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
directionsDisplay.suppressMarkers = true;
if(this.marker){
this.marker.setPosition(result.routes[0].overview_path[result.routes[0].overview_path.length-1]);
} else{
this.marker = new google.maps.Marker({
position: result.routes[0].overview_path[result.routes[0].overview_path.length-1],
map: Gmap.map
});
}
var contentString = '<div id="infowindow_title">Hello World</div><div id="infowindow_cat">Lorem Ipsum</div>';
if(!this.infoWindow){
this.infoWindow = new google.maps.InfoWindow({
content: contentString
});
} else {
this.infowindow.setContent(contentString);
}
this.infoWindow.open(Gmap.map, this.marker);
}
});
答案 0 :(得分:0)
我发现错误:gMaps做的一切都正确;有一些css(在我正在使用的cms的主题中),它在堆栈中设置了一些溢出的层:隐藏。
因此,gMaps认为显示infoWindow的空间比实际可见的空间大。