• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GoogleMapsAPIv3でXMLを取得(3))

GoogleMapsAPIv3でXMLを取得

このQ&Aのポイント
  • GoogleMapsAPIv3を使用してXMLデータを取得し、表示する方法について質問です。
  • 特定のXMLを指定するために、ボタンファンクションを追加する方法について分かる方がいますか?
  • マーカーを消して別のマーカーを表示する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

テキストボックスで、XMLのファイル名を打ち込んでもらうのは、打ち間違えたりする事がままあるので、セレクトボックスかリンクの方がよいと思います。 例えば、 <a href="xml/allplaces.xml" onClick="Get_xml(this.href);return false;">allplaces.xmlのロード</a> として、downloadUrl("xml/allplaces.xml", function(data) {}) の代わりに、 function Get_xml(xmlfile){ // GET or POST Request  var ajax = GXmlHttp.create();  ajax.open("GET",xmlfile,true);  ajax.onreadystatechange = function() {   if (ajax.readyState == 4) {    var xml = ajax.responseXML; //XMLレスポンスをそのまま取得    var markers = xml.documentElement.getElementsByTagName("marker");        後は省略       }  }  ajax.send(null); }

pickpio
質問者

お礼

とても参考になりました。 ありがとうございました!

pickpio
質問者

補足

ご回答ありがとうございます。 GXmlHttp.create()はAPI v2のときの物だったと思うのですが、 v3ではcreateXmlHttpRequest()を使えばいいのでしょうか。 createXmlHttpRequest()は util.js (http://code.google.com/p/gmaps-samples-v3/source/browse/trunk/xmlparsing/util.js?r=16 ) で提供されていました。 それから、少し質問の内容が分かりづらかったかもしれ無いのですが、 Google Maps API V3でhttp://japonyol.net/editor/xml2.htmlの様な、複数のXMLに対応したマップを作りたいです。

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

>>v3ではcreateXmlHttpRequest()を使えばいいのでしょうか。 はい、動作確認してませんけど、GXmlHttpとかGdownloadurlとかV3で廃止された クラスを活かせるように「util.js」が提供されてるみたいですから、とりあえず それでいいと思います。 ※本来は、もっと強固な'XMLHttpRequest'のラッパーを自分で書いた方がベターかも ↓(人まねです) if (!'XMLHttpRequest' in this) {   this.XMLHttpRequest = (function () {    var i, l;    for (i = 0, l = arguments.length; i < l; i++) {     try {      return arguments[i];     }     catch (err) {}    }    return null;   })(   function () { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); },   function () { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); }); } var ajax = new XMLHttpRequest(); >>クリックすると出ているマーカーは消えて、ほかのマーカーが出るようにしたい  それは、新しいマーカーたちを描画する前に、前のマーカーをごそっと消すだけだと 思うんですが....

関連するQ&A