可以通过AJAX使用Google Maps/Places的"自动填充"API吗?

woo*_*rdj 11 javascript jquery json xmlhttprequest google-api

我正在尝试使用Google地方信息自动填充API在网络应用程序中使用企业数据预填充表单以简化数据输入.API非常简单,但它似乎不想接受XHR.

$.getJSON("https://maps.googleapis.com/maps/api/place/autocomplete/json",{
  input: input.term,
  sensor: false,
  types: 'establishment',
  location: '40.01496,-105.27029',
  radius: 10000,
  key: Config.googleplaceskey
},function(places_response){
    //Some other code.
});
Run Code Online (Sandbox Code Playgroud)

我在控制台中得到这个:

XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/place/autocomplete/json?input=At&sensor=false&types=establishment&location=40.01496%2C-105.27029&radius=10000&key=AIzaSyDKzUgcLklQE_U5494vHq_SzrFakNHugaQ. Origin http://localhost:8086 is not allowed by Access-Control-Allow-Origin.

这在某种程度上不是API的意思吗?任何人都知道一个变通方法,或者我可以发送一些额外的参数来使其工作?

更新:

以下是此调用的API文档的链接.父文档实际上甚至还有JavaScript JSON解析示例.真的很混淆为什么这会在服务器端关闭.

http://code.google.com/apis/maps/documentation/places/autocomplete.html

Mik*_*maa 1

Google 可能只允许通过其自己的 Javascript API 调用此 API,您可以从maps.google.com 提供的 Javascript 文件加载该 API。缺少 Access-Control-Allow-Origin 标头表明您不应该通过 Javascript 使用 API。

或者,您可以简单地编写一个服务器端代理函数,该函数调用 Google API 并将结果转发到您自己的 $.getJSON 调用,但这可能违反服务条款。

http://www.daniweb.com/web-development/php/code/216729

(免责声明:我还没有阅读此特定函数调用的 API 规范)