在infowindow的中心地图,而不是谷歌地图中的路线

时间:2012-04-18 14:28:52

标签: javascript google-maps google-maps-api-3

我的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);


        }
    });

1 个答案:

答案 0 :(得分:0)

我发现错误:gMaps做的一切都正确;有一些css(在我正在使用的cms的主题中),它在堆栈中设置了一些溢出的层:隐藏。

因此,gMaps认为显示infoWindow的空间比实际可见的空间大。