0

gpx ファイルからすべての座標を取得しています。そのファイルのサンプル行を次に示します。

 <gpxx:rpt lon="11.0739613" lat="47.5691700"/>

IE および FireFox では、次のコードが正しく実行されます。

var routePoints = data.documentElement.getElementsByTagName("gpxx:rpt");

for (var i = 0; i < routePoints.length; i++) 
 {
     routePoints[i].getAttribute("lat");
     routePoints[i].getAttribute("lon");
 }

奇妙なことに、Chrome ではこのコードは機能しませんが、DOM から情報を取得していないようです。

解決策を求めて旅行中に「getElementsByTagNameNS(ns,name)」を見たことがありますが、 http://www.w3schools.com/dom/met_element_getelementsbytagnamens.aspの例を見て、それが含まれているかどうかを確認できませんでした。私にとってどんな助けの事実。

ヒントをいただければ幸いです

どうもありがとう

デビッド

4

1 に答える 1

0

はい、ファイルは名前空間を使用しているため、このメソッドの名前空間対応バージョンを使用する必要があります。

  • gpxx:プレフィックスの名前空間がわかっている場合は、次を使用します。

    getElementsByTagNameNS(your_namespace, "rpt")

  • ファイルがrpt要素を持つ他の名前空間を使用していない場合は、これで十分です。

    getElementsByTagNameNS("*", "rpt")

于 2012-04-27T16:58:53.773 に答える