我正在开发一个需要附近学校的项目,我的技术是Angular 2,我在客户页面中尝试了下面的Google API Http请求
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=lat,long&radius=5000&type=school&key=<my-API-KEY>'
但是在请求此API时,我正在获取CORS错误
XMLHttpRequest无法加载 https://maps.googleapis.com/maps/api/place/nearbysearch/json?location-42.60 ... = 5000&安培;类型=学校&安培;传感器=假安培;键=。 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此,不允许原点“http://mysite.something”访问。
所以我需要一个解决方案来启用我的Http请求中的CORS服务,或者我需要一个替代解决方案来获取基于Lat Long的Angular 2附近的学校
答案 0 :(得分:0)
当您尝试从非ssl认证的网站访问google place API时会出现此错误。现在还必须在您的应用程序中使用https//maps.googleapis.com
从google place api获取数据。
此更改于2016年中期完成,为此,您需要将您的网站放在ssl中,然后才能访问
答案 1 :(得分:0)
首先,您需要一个API密钥才能访问API。
请检查:https://maps.googleapis.com/maps/api/place/nearbysearch/json?location-42.60
您可以从Google API Console获取API密钥。您必须为应用程序所需的API启用和创建凭据。您还可以指定可以从中访问此API的主机站点。
其次,您可以实现商店定位器以满足您的应用程序要求。检查一下:https://developers.google.com/maps/articles/phpsqlsearch_v3
P.S。 Google API并非完全免费。他们将为您提供预定义的点击次数/ API访问权限。他们中的大多数被限制为每天1000个免费请求。您可以通过支付额外的点击数来延长此限额,我猜这是0.5美元/ 1000个请求。