2

我目前正在使用 Google Maps JavaScript API v3 ( jobadvisor.scriptonite.be )(DUTCH) 编写一个 Web 应用程序。

该应用程序已上线几个月,一切正常。但是在本月初,我开始在本地主机上调整我的源代码。一周后,我更新了本地主机上的所有内容并将其留在那里。

所以,FTR:

  • 我目前在在线主机上有我的旧应用程序
  • 我在本地主机上更新的应用程序

然后 2 个星期过去了,但是现在,当我尝试获取一个位置(在应用程序上,最近的面包店)时,控制台返回错误:

XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=51.053…ance&types=bakery&sensor=false&key=AIzaSyDQOMaCyapoFRbaagiFUZ3qRGk1UJni7nk. 
Origin http://www.jobadvisor.scriptonite.be is not allowed by Access-Control-Allow-Origin.

所以错误肯定不在代码中,旧应用程序的代码很好(它工作了 3 个月),并且更新的应用程序在我离开它 2 周之前也可以工作。我认为谷歌已经阻止了我的 API 密钥中的某种权限。

我认为错误是由Cross-Origin XMLHttpRequest引发的,因为发送和接收数据没有相同的来源策略。Google 不再允许访问我的 API 密钥。我已经阅读了一些关于您的网站(托管应用程序)必须位于代理服务器上的信息,但这对我来说是没有选择的......

有谁知道如何防止这个错误?

4

1 回答 1

0

@Dr.Molle 的回答:

使用地点库在客户端请求地点结果: https ://developers.google.com/maps/documentation/javascript/places#place_search_requests

于 2013-07-24T09:02:54.030 回答