Geocoding API に対して JavaScript コードでジオコーディングしようとしています。var url = "http://http://maps.googleapis.com/maps/api/geocode/json?address=New York, Manhattan&sensor=false"
JSON オブジェクトを取得する必要があるURL を定義
します。私が使用した最初のアプローチは、ウィキペディアによると、このように XmlHttpRequest を使用していました
var my_JSON_object = {};
var http_request = new XMLHttpRequest();
http_request.open("GET", url, true);
http_request.onreadystatechange = function () {
var done = 4, ok = 200;
if (http_request.readyState == done && http_request.status == ok) {
my_JSON_object = JSON.parse(http_request.responseText);
}
};
open() 関数がトリガーされた後、コードを実行し、デバッガーでそのような出力を取得します。
http_request: XMLHttpRequest
onabort: null
onerror: null
onload: null
onloadend: null
onloadstart: null
onprogress: null
onreadystatechange: function () {
readyState: 1
response: ""
responseText: ""
responseType: ""
responseXML: null
status: [Exception: DOMException]
statusText: [Exception: DOMException]
upload: XMLHttpRequestUpload
withCredentials: false
__proto__: XMLHttpRequest
これは、本当に役立つことは何も起こらなかったことを意味します。私の2番目のアプローチはjson.orgによるもので、JSONRequestでget呼び出しを試みました
var requestNumber = JSONRequest.get(
url,
function (requestNumber, value, exception) {
if (value) {
document.write(value);
} else {
document.write(exception);
}
}
デバッガーは、JSONRequest が定義されていないことを教えてくれました! json.org のネイティブ JS オブジェクトが原因で、何が問題なのですか? ちなみに、近くのスクリプトでGoogleから取得したAPIキーを適切に使用しています。
私のソリューションが失敗した理由の説明と、このタスクに準拠する方法についての提案をいただければ幸いです。