0

我的 google 地图以路线为中心,该路线由 Direction Service 提供并由 Direction Renderer 渲染(此处称为方向显示)。

根据我读过的文档和许多线程和论坛,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);


        }
    });
4

1 回答 1

0

我发现了错误:gMaps 做对了;有一些 css(在我使用的 cms 的主题中),将堆栈中的某些层设置为溢出:隐藏。

因此,gMaps 认为它​​有更多的空间来显示 infoWindow,而不是实际可见。

于 2012-04-20T07:14:42.753 回答