如何使用 Here Geocoding 并使用 API 键从 angular 服务中搜索 api
How do I use Here Geocoding and search api from angular service with API key
我是 Angular 的新手,我想在我的 angular 服务中使用 Here Geocoding api,我将我的 apiKey 附加到 httpParams 但它没用。这是我在服务中的代码:
let params = new HttpParams();
params = params.append('at', `${coordinates.latitude},${coordinates.longitude}`);
params = params.append('q', query);
params = params.append('limit', limit);
params = params.append('apiKey', environment.apiMapRest);
return this.httpClient.get('https://discover.search.hereapi.com/v1/discover', {params});
这里是错误:
Access to XMLHttpRequest '
from origin 'http://localhost:4200' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
顺便说一句,我可以直接在我的浏览器和 postman 中访问它。
这是因为从浏览器进行了跨源调用。此处可以找到有关 cross origin policy 的详细信息。
hereapi
还有文档 this case here.
我会将 hereapi
请求逻辑放在 Angular 应用程序的后端。这样 Angular 应用程序将只与他自己的后端通信,而不会进行任何跨源调用。另一方面,如果 hereapi
调用在后端,则不会公开 apikey。 (如果直接从Angular端调用hereapi
,apikey很容易被拿走。)
我是 Angular 的新手,我想在我的 angular 服务中使用 Here Geocoding api,我将我的 apiKey 附加到 httpParams 但它没用。这是我在服务中的代码:
let params = new HttpParams();
params = params.append('at', `${coordinates.latitude},${coordinates.longitude}`);
params = params.append('q', query);
params = params.append('limit', limit);
params = params.append('apiKey', environment.apiMapRest);
return this.httpClient.get('https://discover.search.hereapi.com/v1/discover', {params});
这里是错误:
Access to XMLHttpRequest '
from origin 'http://localhost:4200' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
顺便说一句,我可以直接在我的浏览器和 postman 中访问它。
这是因为从浏览器进行了跨源调用。此处可以找到有关 cross origin policy 的详细信息。
hereapi
还有文档 this case here.
我会将 hereapi
请求逻辑放在 Angular 应用程序的后端。这样 Angular 应用程序将只与他自己的后端通信,而不会进行任何跨源调用。另一方面,如果 hereapi
调用在后端,则不会公开 apikey。 (如果直接从Angular端调用hereapi
,apikey很容易被拿走。)