Angular 4:而不是使用AGM-Core模块,为什么我们不能使用Google API来获取自动完成位置,如果我们使用API获取位置,我会收到CORS问题,因为XHR请求仅在同一域中被接受(如果我没错的话(克服CORS的解决方案是我们必须使用JSONP模块,但Google API不支持它。那么谁能告诉我,如何在不使用任何第三方模块的情况下从谷歌API获取位置?
提前谢谢。
编辑:
嗨希夫库马尔,
感谢您的回复。
我实际上已经在索引.html中包含元标记,但结果相同。
这是我正在调用的HTTP代码。
设网址 =https://maps.googleapis.com/maps/api/place/autocomplete/json?input=${location}&key='API_KEY'
;
返回this.http.get(gooleUrl(; 如果从此方法调用,我会收到 cors 错误。
如果通过 JsonP 模块调用, 设网址 =https://maps.googleapis.com/maps/api/place/autocomplete/json?input=${location}&key='Api_key'&callback=JSONP_CALLBACK
;
return this.jsonP.get(gooleUrl, {method: "GET"}(
响应 {_body:"JSONP 注入的脚本未调用回调",状态:200,确定:true,状态文本:"Ok",标头:标头,...} headers: headers {_headers: Map(0(, _normalizedNames: Map(0(} 确定:真 状态: 200 状态文本:"确定" 类型: 3 URL: "https://maps.googleapis.com/maps/api/place/autocomplete/json?input=w&key='Api_key 我删除了'&callback=ng_jsonp。req0.已完成" _body:"JSONP 注入的脚本没有调用回调。 __proto:身体
尝试在HTML中使用CSP
元标记以允许googleapis
调用
<meta http-equiv="Content-Security-Policy"
"script-src 'self' https://*.googleapis.com https://*.gstatic.com;
object-src 'self'">