*XMLデータの読み込み [#tba21754]
たくさんのマーカーを設置したくなったとき、コード内にマーカー毎にaddOverlayを書いていては面倒になってきます。配列データにまとめて記述してもかまいませんが、やはり外部データを利用したくなってきます。他のアプリケーションと連携したりする場合にもやはり必要です。
情報が古いので削除しました

幸いGoogle Maps APIには外部データを利用する枠組みがあらかじめ用意されています。これを使ってみましょう。
コードはここ -> https://github.com/rieszgithub/gcmap

**プログラム側 [#kaadc670]
[[GXmlHttp:http://www.google.com/apis/maps/documentation/#GXmlHttp_code_]]を用いてXML文章取得用のHTTPクライアントオブジェクト(XmlHttpRequestクラスのインスタンス)を作成します。
  var request = GXmlHttp.create();
openメソッドを用いてXML文章を取得します
  request.open("GET", '(取得するXML文章のURL)', true);
次に、onreadystatechangeメソッドを使って取得した文章の処理方法を記述します。とりあえず難しいことは考えずに以下のように記述しましょう
  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      var xmlDoc = request.responseXML;
      var markers = xmlDoc.documentElement.getElementsByTagName("m");
      for (var i = 0; i < markers.length; i++) {
        var point = new GPoint(parseFloat(markers[i].getAttribute("lng")),
	                      parseFloat(markers[i].getAttribute("lat")));
        var marker = new GMarker(point);
        map.addOverlay(marker);
      }
    }
  }
XML文章をパースし、タグ名がmの要素をmarkers配列に保存し、属性として記述された緯度、経度情報を取り出し、マーカーを追加するという処理です。

最後にsend(null)と書きます
  request.send(null);

**読み込むXML文章の作成 [#o61e5b54]
XML文章を用意しましょう。encodingにはXML文章を記述する文字コードを記入します
 <?xml version="1.0" encoding="EUC-JP" ?>
 <d>
 <m lat="(緯度1)" lng="(経度1)"/>
 <m lat="(緯度2)" lng="(経度2)"/>
 ...位置情報が続く
 </d>


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS