バックエンドのphpからマーカーを表示するためのxmlを取得して
javascriptで表示させているのですが高速化の方法を模索しております。
xmlから高速でデータを抽出するにはどうするのが良いのでしょうか?
もしくは、そもそもxmlではなく別の方法でやった方が良いなどのご意見もあれば
あわせて教えていただけると助かります。
現在行っている方法を記述します。
取得するxml
<markers>
<marker>
<code>1</code>
<x>135</x>
<y>34</y>
</marker>
<marker>
<code>2</code>
<x>136</x>
<y>35</y>
</marker>
</markers>
javascriptでの処理
//xmlデータを取得
xmlObj=getObj.responseXML;
map.clearOverlays();
// XMLをパースする
for(i=0;i<xmlObj.getElementsByTagName("marker").length;i++){
var code = xmlObj.getElementsByTagName("code").item(i).firstChild.nodeValue;
var name = xmlObj.getElementsByTagName("x").item(i).firstChild.nodeValue;
var name = xmlObj.getElementsByTagName("y").item(i).firstChild.nodeValue;
//マーカーを出力するための処理
createMarker(mp,code,x,y);
}
http://d.hatena.ne.jp/amachang/20060417/1145236908
リンク先に PowerPoint のファイルですが、JavaScript の高速化についての資料があります。
DOM についても記述が有りましたので参考になるかと思います。
JSONの方が早いんですね。
知りませんでした。
早速やってみたら微妙に早くなった気がします。
重い要因はマーカー出力のようです。
私も検索している中で見つけました。
ご紹介ありがとうございます。