GoogleMapでxmlから10件のみ情報取得
今、googlemapで、xmlに書き出されたデータをjavascriptで呼び出し、地図外に一覧を表示させています。
現在のスクリプトでは、xmlデータ全件取得されています。
マップ上のポイントは前件表示、一覧表示部分のみ10件のみ表示に変更させる場合の書き方がわかりません。
初心者なりに、色々とやってみたのですが、うまくいかず。。。
ご指導いただけると助かります。
******************************************
<script type="text/javascript">
var map;
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById('map'));
・・・
}
GDownloadUrl('http://○○.jp/map.xml', function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName('marker');
var shopList = document.getElementById('map_text');
・・・
for (var i = 0; i < markers.length; i++) {
var shop = markers[i].getAttribute('shop');
var text = markers[i].getAttribute('text');
・・・
var marker = createMarker(point, shop, text, n, imgurl, linkurl, category, shopurl);
var sidebarEntry = createSidebarEntry(marker,shop, text);
map.addOverlay(marker);
shopList.appendChild(sidebarEntry);
}
});
}
function createMarker(point, shop, text, n, imgurl, linkurl, category, shopurl) {
・・・
}
function createSidebarEntry(marker, shop, text) {
var shopList = document.createElement('div');
shopList.id = "map_text";
var maplist =shop + '<br/>' + text; ←※ここで呼び出される情報を10件に限定したい
shopList.innerHTML = maplist;
GEvent.addDomListener(shopList, 'click', function() {
GEvent.trigger(marker, 'click');
});
return shopList;
}
</script>
******************************************
お礼
回答が付かないようなので閉じます。 ありがとうございました!
補足
早速ご回答いただき、ありがとうございます。 やりたいことは 1.文字列からXMLを取得。 2.DOMでXMLを一部変更。 3.変更したXML全体を文字列としてPOST。 で、2.まではできているのですが3.の部分で上手く行っていない状況です。 var xs = new XMLSerializer(); var txt = xs.serializeToString(d) の"txt"がイメージとして近い感じなのですが、XMLSerializerを通してしまうと元のXMLと異なるXMLになってしまいます。 "d.xml"のように簡単に文字列として取得できれば良いのですが・・・。 ご紹介いただきましたFirebugでも各種プロパティ等確認しているのですが、ちょうど良いものがありません。