注:私は自分自身を教えています(つまり、Google)ので、質問や説明が愚かで単純な場合はおそらくそうです。私はサーバーの人で、このタイプのスクリプトを実行したことはありません(URLからデータを取得し、マップ上にプロットする)、私はユーザーに過ぎませんでした。私に親切にしてください。Googleマップ上でJavaScriptとプロットを使ってXMLファイルを解析する
タグでXML形式の気象データファイルを解析しようとしています。このファイルは、航空天気リンク(定期的に更新されています)からのものです。私のコードをテストするために、データ(約40K)をダウンロードしました。これは長い文字列です。
私の最終目標は、このリンクからデータを入力し、データを解析し、すべての座標を見つけ、座標対ごとにマーカーをプロットすることです。
データには、必要のないデータがたくさんあり、使用したいセクションがあります。ここに例があります:
<lots_of_stuff><area num_points="11"><point><longitude>-120.47</longitude><latitude>49.46</latitude></point><point><longitude>-114.13</longitude><latitude>49.17</latitude></point><point> ...
このパターンは続きます。の値は、各セクションごとに異なります。 座標データの部分を使用すると、マーカーを正しく解析/プロットすることができます。小さなデータスニペットで動作するコードは次のとおりです。
<p id="demo"></p>
<SCRIPT>
var parser, xmlDoc;
var text = "<point><longitude>-120.47</longitude><latitude>49.46</latitude></point>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("latitude")[0].childNodes[0].nodeValue + " " + xmlDoc.getElementsByTagName("longitude")[0].childNodes[0].nodeValue;
</SCRIPT>
私はプロットを表示していません。私が気づいたことの1つは、データスニペットのサイズを大きくすると、このコードは機能しないということです。たとえば、このテキストの値に対して、コードは失敗し、なぜ失敗するのかわかりません。
var text = "<point><longitude>-120.47</longitude><latitude>49.46</latitude></point><point><longitude>-114.13</longitude><latitude>49.17</latitude></point><point>";
1)上記のテキストの値が原因でコードが失敗するのはなぜですか? URLをロードするために
は、私がしようとしています:
parser = new DOMParser();
var script = document.createElement('script');
script.src = 'url_for_data';
xmlDoc = parser.parseFromString(script,"text/xml");
var lat = document.getElementsById("demo").innerHTML = xmlDoc.getElementsByTagName("latitude")[0].childNodes[0].nodeValue;alert(lat);
var long = document.getElementsById("demo").innerHTML = xmlDoc.getElementsByTagName("longitude")[0].childNodes[0].nodeValue;alert(long);
を私は何が起こっているのか確認するために、様々な場所でのアラート()たstatmentsを置きますが、私が見ていることである場合には100%を確認していないしました正しい。私は、URLの割り当てが正しいことを知っているが、データを見ることができませんでした。データが表示するには余りにも時間がかかりすぎるかもしれませんか?このサイトのDOMParserの制限ページを確認しようとしましたが、そのリンクにアクセスできません(私の仕事の接続では許可されない可能性があります)。
私はどのように進むべきかわかりません。
2)どうすればいいですか?