Я пытаюсь геокодировать в своем коде javascript API геокодирования. Я получаю определенный URL-адрес var url = "http://http://maps.googleapis.com/maps/api/geocode/json?address=New York, Manhattan&sensor=false"
, из которого мне нужно получить объект JSON. Первый подход, который я использовал, был в соответствии с Википедией с использованием 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
а это значит, что ничего действительно полезного явно не произошло. Мой второй подход был связан с json.org, я пытался сделать вызов с помощью JSONRequest.
var requestNumber = JSONRequest.get(
url,
function (requestNumber, value, exception) {
if (value) {
document.write(value);
} else {
document.write(exception);
}
}
Отладчик сказал мне, что JSONRequest не определен! Из-за того, что json.org является его собственным JS-объектом, так в чем проблема? Просто чтобы заметить, я использую правильно полученный ключ API от Google в скрипте рядом.
Объяснение, почему мое решение не удалось, и любое предложение о том, как выполнить эту задачу, будет высоко оценено!