要素をクリックした後にマップを作成します。私はGoogle Maps v3を使用しています。要素をクリックした後にGoogleマップv3を作成する
私は、ページあたり15件の結果/プロパティを表示するRealtyリスティングページを持っています。 15個のマップを生成する代わりに、1つの要素をクリックすると1つのマップが作成されます。クリックされると、マップ生成プロセスが実行されます。マップcanvas/divは最初は非表示になっています。私はクリック要素とマップ要素の関係は、このようなものであろうと考えていた
:私はカスタムID、緯度などのプロパティに関する要素に属性を追加HTML5を使用して
<span id="12-1234" lat="10.101010" lng="-25.252525" class="view-map">View Map</span>
... other markup ...
<div id="12-1234-map" class="google-map"></div>
と経度私はアイコンを変更してマップを中央に置くことができます。
私は、検索パラメータに基づいて動的に生成されたXMLファイルからマーカーをロードする機能マップを持っています。
私はaddListenerとaddDomListenerを見てきましたが、運が全くありませんでした。ほとんどの検索では、マーカーに関連する問題が取り上げられます。
私は、jQueryを使用していたことのようなうわさがありました。このような何か:あなたはカップル回以上、あなたがそれに別のクリックイベントをバインドしましたとして、それをクリックし、既にした後の地図を見る前の要素をクリックする必要があるだろうと明らかに
$('.view-map').click(function(){
google.maps.event.addDomListener(this, 'click', initialize);
$("#" + this.id + "-map").toggle();
});
これは完璧ではなかったです。
私は何かが明らかに欠けているように感じる。
私は近づいています。これにより、正しいDIV上にマップが作成されます。しかし、今は_mapが定義されていないエラーが発生します。これは、私の_createMarker()_関数を参照しています。 'function createMarker(latlng、address){ \t \t var html = '
私は自分の誤りを修正しました。私の_createrMarker()_関数の後で、まだ_initialize()_ funcitonの前に 'var map;'を定義していました。なぜそれが問題だったのかは分かりません。可能であれば、なぜ_mapDiv [0] _が_mapDiv_と動作するのかを説明してください。 – hungerstar
私はこのような何かをしていました、_initialize()_関数内のjQueryはありません。 'var mapDiv = document.getElementById(link.id + '-map');'も動作し、_mapDiv [0] _の必要はありません。今は、jQueryオブジェクトであるため、_mapDiv [0] _のみを使用しています。要素オブジェクト、つまり[object HTMLDivElement]が必要です。間違った順序で何かや他の小さなことをしていなければならない。ソリューションskarEありがとう! – hungerstar