Этот API не поддерживает JSONP, он возвращает только JSON ... так что да, в этом случае вам понадобится прокси.
Для ясности, правильный ответ будет выглядеть так:
someFunction({
"status": "OK",
"results": [ {
"location": {
"lat": 23.4440000,
"lng": 45.4545000
},
"elevation": 816.7996216
} ]
})
jQuery заменяет callback=?
на callback=someFunction
, но Google не использует этот параметр, так как этот сервис не поддерживает JSONP ... поэтому проблема в том, что вы эффективно делаете это:
<script type="text/javascript">
{
"status": "OK",
"results": [ {
"location": {
"lat": 23.4440000,
"lng": 45.4545000
},
"elevation": 816.7996216
} ]
}
</script>
Что приводит к ошибке, так как это неверный JavaScript ... вы получаете недопустимую ошибку метки. Если бы он имел функцию-обертку там, он был бы действительным, и он выполнил бы ту функцию, которую сделала jQuery (из вашего success
обратного вызова).