旅行好きのおしりトラブル対策グッズ3選

Google Maps API v3でサーバー上にあるXMLファイルを利用して、マーカーを出現させようと思います。

いろいろ調べていたところ、XMLのデータが
<markers>
 <marker lat="37.413320" lng="-122.125604"/>
 <marker lat="37.433480" lng="-122.139062"/>
</markers>
上記のような場合、
var markers = data.documentElement.getElementsByTagName("marker")でXMLのデータを取得し、数値を使いたいところで、
getAttribute("lat")
getAttribute("lng")
を使うことは調べていてわかりました。

しかし、
<markers>
<Latitude>35.679858</Latitude>
<Longitude>13.689478</Longitude>
</markers>
このようにXMLデータが書かれている場合、どのようにLatitude, Longtitudeの値を取得すればいいのかがわかりません。XMLは提供されているものを利用するので、変更できません。
このような場合の数値の取得方法がわかる方いらっしゃいましたら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Xpathを使ったほうが楽だけれど、同じくgetElementsByTagName使っても


出来ますよ。getAttributeの代わりに子供・末端(テキストノード)の
値を取得すればよいでしょう。

var markers = data.documentElement.getElementsByTagName("marker");
var lat = markers[0].getElementsByTagName("Latitude")[0].childNodes[0].nodeValue;
var lng = markers[0].getElementsByTagName("Longitude")[0].childNodes[0].nodeValue;
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ひとまず今回の疑問点は解決しました!嬉しいです。
また新たな問題も出てきたので、解決できなければ再度この場を借りるかもしれません。
ありがとうございました。

お礼日時:2010/12/26 22:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング