2012-02-10 11 views
0

をマッピングし、私はこのコード行でGoogleマップのAPIのバージョンを更新することにより、下の問題を修正しました!バージョンをもう一度更新しました(上記の3.9まで)が、コンテンツはもう一度サイドバーdivに表示されません(下記参照)。私は2011年12月からオンライン化されているこのコードには何もしていません。マーカーはv3のAPIにはもはやアクセス内容


地図上にマーカーを表示するには、Googleマップv3とphpおよびmysqlを使用するアプリケーションがあります。マーカーは、マウスオーバー時に(データベースから引き出された)情報ウィンドウのコンテンツに接続し、クリックしたときのサイドdivに新しいコンテンツ(データベースから描画されたもの)を表示します。

これはすべてうまくいきましたが、突然それがうまくいきませんでした。サイドバーはクリック時に表示されなくなりました。全く何も起こらない。地図の上にあるトピックの検索を使用すると、何が起こるはずかを知ることができます(トピックを選択すると地図上にドロップする物語の1つをクリックします)。

このページのコードはここにGoogleマップドキュメントに基づいています。 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変数である:私は(私のMAMP上)だけでなく、このローカルでテストしてみた

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>'; 

、それはそれを示唆している、のいずれかが動作しませんが持っているものですGoogleで変更されました。しかし何?コードを調整できるように変更された内容を確認するにはどうすればよいですか?これは誰にも起こったのですか? 6ヶ月間正常に動作していたエラーメッセージとコードがなければ、突然私はトラブルシューティングのための損失が少しありません。次JSエラーを生成するページ、のライン128上のDOMの参照に誤りがあり

答えて

1

は:

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

もラインで、あなたのコード内の改行がある128

あなたのコードは次のように見えるように、私は、のparentNodeへの参照を削除することをお勧め:

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

は、私が説明するように、私はJSを設定すると、マーカークリックで出てくるためにサイドバーを取得することができました。

+0

ご回答いただきありがとうございます - 私にとってはうまくいかなかったが、コードを見ていただければ幸いです。乾杯、シェリル – cdonahue

関連する問題