Итак, у меня есть URL вроде:
http://maps.googleapis.com/maps/api/geocode/json?&sensor=false&address=1330+SW%203rd%20Ave,%20Portland,%20OR
Но он возвращает просто JSON. Я ищу, чтобы сделать вызов JSONP. Я хочу сделать это без кода на стороне сервера. Есть ли способ добавить имя переменной или функцию? Обычно API имеют параметр callback или что-то в этом роде. Или кто-нибудь из вас знает какие-нибудь хаки? Мой код сейчас:
callback
createScriptTag:function(the_src,callback){ var headID = document.getElementsByTagName("head")[0], newScript = document.createElement('script'); newScript.type = 'text/javascript'; newScript.onload=callback; newScript.src = the_src; headID.appendChild(newScript); } //Then call it like: createScriptTag( 'http://maps.googleapis.com/maps/api/geocode/json?&sensor=false&address=1330+SW%203rd%20Ave,%20Portland,%20OR', function(){ /* I can't do anything with the JSON :( */ } )
Похоже, вы используете API геокодера, а не API карт.Согласно документации, Geocoder API не предназначен для использования в реальном времени:
http://code.google.com/apis/maps/documentation/geocoding/
Этот сервис обычно предназначен для геокодирования статических (заранее известных) адресов для размещениясодержание приложения на карте;этот сервис не предназначен, чтобы реагировать в реальном времени на пользовательский ввод, например.Для динамического геокодирования (например, в элементе пользовательского интерфейса) обратитесь к документации для клиентского геокодера JavaScript API V2, клиентского геокодера JavaScript API V3 или API-интерфейса Maps for Flash Client Geocoder.Возможно, вам нужно взглянуть на http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding, который на стороне клиента со встроенными обратными вызовами.Хотя я считаю, что лицензия на этот API требует использования результата геокодирования в сочетании с картой Google.