Google MapsのKMLをJSONで取得したい。
Google Mapsで作成したマイマップのKMLを見るとURLが書かれています。
このURLの末尾を「&output=kml」→「&output=json」
と変更するとJSONで取得できると思うのですが、
実行するとstatus=0となっていまいます。
HTTPヘッダを見る限り200なので取得出来ているようなのですが・・・
なぜでしょうか?教えてください。
===
var jsonUrl = 'url'
var xhr = new XMLHttpRequest();
xhr.open("GET", jsonUrl, true);
xhr.onreadystatechange = function() {
if (xhr.readState ==4 && xhr.status == 200){
var jresult = document.getElementById("json_panel");
jresult.innerHTML += xhr.responseTEXT;
} else {
alert (xhr.statusTEXT);
}
}
xhr.send();
No.1ベストアンサー
- 回答日時:
まず、ご提示のソース正しくないです。
つっこみどころ満載です。
とりあえず、
var jsonUrl = 'url';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4){
if (xhr.status == 200){
alert(xhr.responseText);
var jresult = document.getElementById("json_panel");
jresult.innerHTML += xhr.responseText;
}else{
alert (xhr.status);
}
}
}
xhr.open("GET", jsonUrl, true);
xhr.send(null);
として下さい。
その上で、0がアラートされれば、アクセスに失敗してるのです。
HTTPヘッダのレスポンスが200でも、外部サイトならアクセス出来ないので、
statusは0のままです。
※クロスドメインアクセスの禁止って知ってますよね!
さらに、JSONがとれたとして、
innerHTMLでつっこんでどおしようってんです。JSONはHTMLじゃないです。
単なるテキストです。
オブジェクト変数につっこんでパースしないと、どおしようもないでしょう。
ご返答ありがとうございます。
・全体的にXHRの処理はMDCからコピーしたので正しいと思っていました。。。。
https://developer.mozilla.org/ja/XMLHttpRequest
ご指摘ありがとうございます。
・urlの";"は投稿の際の記述漏です。すみません。
・innnerHTMLに突っ込んでるのは動作確認ようでした。
・XHR lv2でクロスドメインで通信できるとあったのでいけるかと思ってました。
頂いたコードでも返ってきたコードは0だったので
クロスドメインだからだめなのだと思います。
おとなしくローカルでやることにします。。。。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- JavaScript gasについて 1 2022/05/31 21:51
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript json形式データのデータ連携について 4 2022/04/05 23:01
- JavaScript Google reCAPTCHAについて 1 2023/02/22 14:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで文字列の特定文字...
-
翌月を取得するGASが分かりません
-
C#OpenCv V4にのエラーに関する...
-
var exports = exports || {}; ...
-
GAS アンケート回答後の自動返...
-
アルファベットABCD…をスマート...
-
setTimeoutによる繰り返しが途...
-
google apps scriptの終了のさせ方
-
google map apiで下記のhtmlが...
-
googleスプレッドシートのApps ...
-
今日からnヶ月後(前)
-
ボタンを押すことでテキストエ...
-
引数なしの関数で疑問です
-
javascriptで複数キーワード検...
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
ASP.NETのコントロールの値をJa...
-
javascript修正依頼
-
第3日曜日のみの日付を取得、...
-
Javascriptで指定した位置の文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
ローカルにあるファイルを検索...
-
HTMLで作った時報アプリが動き...
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
JavaScriptで決まった「時刻」...
-
ASP.NET MVCでObjectをjsに渡す
-
イベントが初めの一回しか起き...
-
jqGridについて
おすすめ情報