2012-02-10 43 views
0

我在这行代码更新谷歌地图API版本固定以下问题:标记在谷歌地图API第3版不再访问内容

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3.9 
&sensor=false"> </script> 

但现在我再次有同样的问题!我再次更新了版本(到上面看到的3.9),但内容再次不显示在侧栏div中(请参阅下文)。我还没有对这个自2011年12月以来一直在线的代码做任何事情。任何关于为什么突然停止工作的想法?


我有一个应用程序,它使用Google地图v3与php和mysql在地图上显示标记。标记连接到鼠标悬停时的信息窗口内容(从数据库中抽取),然后在点击旁边div中显示新内容(也从数据库中抽取)。看到它:www.corkmemorymap.org

所有这一切工作正常,然后突然它不是。侧栏不再显示在点击上。完全没有任何反应。如果您在地图上方使用主题搜索,则可以看到应该发生的情况(点击您选择主题时在地图上下拉的其中一个故事)。

该页面的代码是基于谷歌地图文档在这里: http://code.google.com/apis/maps/articles/phpsqlajax_v3.html
我使用的XML文件中的PHP回声的功能(这是因为托管机构有一个老版本的PHP)。

我添加了这个功能,让侧边栏的内容上来就点击:

function contentBox(marker, map, sidebar, winHtml, infoWindow) { 
    google.maps.event.addListener(marker, 'click', function() { 
    document.getElementById('sidebar').innerHTML=winHtml; 
    /*closes the info window when users clicks the marker 
    and launches the content*/ 
    infoWindow.close(map, marker); 

    }); 
} 

这是较大的AJAX功能内,并且也被称为该函数内。

哦,这就是winHtml变量:

var winHtml = 
     '<!DOCTYPE html>' + 
     '<head>' + 
     '<link rel="stylesheet" href="mapstyle4.css">' + 
     '</head>' + 
     '<body>' + 
     '<div id="sidebar">' + '<h2>' + ph_title + '</h2>' 
     + '</header>' + 
     '<div id="photos">' + 
     '<img width="220" src="'+ph_web+'"/>' + 
     '</div>' + 
     '<div id="trans">' + trans_xcrpt + 
     '</div>' + 
     '<div id="audio">' + 
     '<audio autoplay="autoplay" controls="controls">' + 
     '<source src="'+audio_ogg+'" type="audio/ogg">' + 
     '<source src="'+audio_mp3+'" type="audio/mpeg">' + 
     '</audio>' + 
     '</div>' + 
     '</body>' + 
     '</html>'; 

我这个本地测试,以及(在我的MAMP),并且它也不管用存在,这表明它是东西,有在谷歌改变。但是什么?如何找出发生了什么变化,以便我可以调整我的代码?这有发生在其他人身上吗?没有任何错误消息和6个月的正常工作的代码,然后突然间我不会在排除故障时遇到一些问题。

回答

1

有在您的网页,这将产生下面的JS错误的128线的DOM参考一个错误:

TypeError: 'null' is not an object (evaluating 'document.getElementById('infoWindow').parentNode') 

还存在线在代码换行符128

我建议删除该引用到parentnode,使您的代码如下所示:

document.getElementById('infoWindow').style.overflow = 'visible'; 

我能得到侧边栏上来的标志点击,一旦我设定的JS描述。

+0

感谢您的回复 - 这不适合我,但我很欣赏您在查看代码。干杯,谢丽尔 – cdonahue 2012-02-10 21:27:19