0

これが私が達成しようとしていることです:

マーカーをクリックすると、通常はバブルに表示される情報が、マップの外側の右側のセクションに独自の書式で DIV に表示されます。

どうすればいいのかよくわかりません。ここで提案を試してみましたが、それは 2007 年のものであり、GDownload() 関数は現在非推奨になっていると思います。または、少なくとも、Google Developer サイトのドキュメントと API リストで、それに関する参照を見つけることができませんでした。

私が知っているのは、どういうわけか、以下をDIVに変換する必要があるということだけです。

downloadUrl("genxml.php", function(data) {
  var xml = data.responseXML;
  var locations = xml.documentElement.getElementsByTagName("marker");
  for (var i = 0; i < locations.length; i++) {
    var name = locations[i].getAttribute("name");
    var address = locations[i].getAttribute("address");
    var type = locations[i].getAttribute("type");
    var point = new google.maps.LatLng(
        parseFloat(locations[i].getAttribute("lat")),
        parseFloat(locations[i].getAttribute("lng")));
    var html = "<div id=loc> <div class=loc-name>" + name + "</div> <br/>" + address + "<br/>" + "<div class=loc-type>" + type + "</div></div>";
    var icon = customIcons[type] || {};
    var marker = new google.maps.Marker({
      map: map,
      position: point,
      icon: icon.icon,
      shadow: icon.shadow
    });
    bindInfoWindow(marker, map, infoWindow, html);
  }
});
}
 document.getElementById("loc-info").innerHTML = html;

 function bindInfoWindow(marker, map, infoWindow, html) {
   google.maps.event.addListener(marker, 'click', function() {
     infoWindow.setContent(html);
     infoWindow.open(map, marker);
   });
 }

誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

2

情報ウィンドウを作成するコードを変更するだけで、divのコンテンツを設定できます。

 function bindInfoWindow(marker, map, infoWindow, html) {
   google.maps.event.addListener(marker, 'click', function() {
     document.getElementById('loc-info').innerHTML = html;
   });
 }

編集:この時点では存在しないためfunction bindInfoWindow、何もしないその行(の前の行)も削除する必要があります:html

document.getElementById("loc-info").innerHTML = html;
于 2012-09-22T04:02:18.283 に答える