javascript - Google map 街景 View 信息 wIndows 在 map 上打开

标签 javascript google-maps google-maps-api-3 google-street-view

当我将标记和 InfoWindow 添加到我的 Google map 应用程序时,标记会正确添加到 map 和默认的 StreetView 全景图中。

我还通过调用我的 bindInfoWindow 函数将 InfoWindows 添加到标记的两个副本中,一次使用 map 作为参数,一次使用 StreetView 全景图作为参数。

直到几周前,它还运行良好。

现在,出于某种原因,两个信息窗口都显示在 map 上,并附在 map 标记上。

我创建了一个 simple fiddle (基于 this 公共(public) fiddle )显示问题 here .

基本上我以正常方式创建标记和信息窗口:

    var myMarker = new google.maps.Marker({
            map: map,
                position: new google.maps.LatLng(-34.397, 150.644),
                title: "My Marker",
                draggable:true,
            });

然后我使用我的 bindInfoWindow 函数

function bindInfoWindow(marker, mapOrStreetView, whichInfoWindow, html, openWindow,markerId) {
    openWindow = ((typeof openWindow === 'undefined')?false:openWindow);
    markerId = ((typeof markerId === 'undefined')?'':markerId);
    google.maps.event.addListener(marker, 'click', function() {
        whichInfoWindow.setContent(html);
        whichInfoWindow.open(mapOrStreetView, marker);
    });
    if ( openWindow === true ) {
        whichInfoWindow.setContent(html);
        whichInfoWindow.open(mapOrStreetView, marker);
    }
}

为标记创建 onClick Action ,并在需要时自动打开信息窗口。

            var myMarkerInfoWindow = new google.maps.InfoWindow;
            bindInfoWindow(myMarker, map, myMarkerInfoWindow, "<h1>My Map Info Window Text<br /> <br /></h1>", true);
            var myMarkerStreetViewInfoWindow = new google.maps.InfoWindow;
            bindInfoWindow(myMarker, defaultStreetViewPanorama, myMarkerStreetViewInfoWindow, "<h1>My StreetView Info Window Text</h1>", true);

直到大约一两周前,这一切都运行良好,但突然之间,InfoWindows 都出现在 map 上,而不是一个出现在 map 上,另一个出现在默认的 StreetView 上。

the fiddle ,您可以清楚地看到 StreetView InfoWindow 已在主 map InfoWindow 的顶部打开,尽管已指定在 StreetView 上打开。

请注意,map 是我的 map 对象,defaultStreetViewPanorama 是用

检索的 StreetView Panormama 对象
var defaultStreetViewPanorama = map.getStreetView();

就在创建 map 对象之后和设置 StreetView 选项之前。请注意,街景选项 已正确设置,因此 map.getStreetView() 似乎返回了正确的对象。

最佳答案

Google 在 v3.25 中打破了这个功能。

v3.24 是最后一个正常工作的版本。

v3.24 已停用且不再可用 - 在此期间似乎没有任何简单的解决方法。

这个问题已经被谷歌记录在他们的错误跟踪器上 https://code.google.com/p/gmaps-api-issues/issues/detail?id=9925并已被接受,但在撰写本文时尚未确定。

如果/当有任何进展时,我会更新这个答案。

关于javascript - Google map 街景 View 信息 wIndows 在 map 上打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37778271/

相关文章:

javascript - 用于将纬度和经度添加到输入字段的绘图按钮?地理编码

javascript - 将 google map v3 点击事件更改为 jquery?

javascript - float 时围绕点的半径不是中心

javascript - 如何使用 HTML 5 Canvas 沿着弧形路径绘制文本?

javascript - 如何在页面加载时仅显示一次 Angular 引导模式?

javascript - 将javascript枚举键字符串转换为值

android - 尝试通过在 android 中使用 Google Maps Android API v2 来显示 StreetView 但无法使其正常工作

javascript - 谷歌地图 v3 上的多个标记无法循环工作

python - 使用 Python 实现基本的 Google Place Add

javascript - JS - Object.keys() 中的三元语句