首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ngOnInit()内部使用ngOnInit()之外的函数

在ngOnInit()内部使用ngOnInit()之外的函数
EN

Stack Overflow用户
提问于 2018-05-25 14:59:27
回答 1查看 270关注 0票数 1

我正在用OpenLayers (4.6.5)在角度 (6)中编写一个地图。我还使用法国政府提供的法语API接口来创建请求并返回GeoJSON文件。

我已经用这样的静态GeoJSON文件编写了一个地图:

代码语言:javascript
复制
this.parkingLayer = new VectorSource({
  url: '.../file.geojson',
  format: new GeoJSON()
});

this.vectorLayer_parking = new VectorLayer({
  source: this.parkingLayer
});

现在我想使用这个API并动态地创建请求!我创建了一个StackBlitz来说明我的问题。

我的问题是,我在getLocation()之外创建了一个ngOnInit()函数(这是强制性的),现在我想在this.locationLayer中使用const url = 'https://api-adresse.data.gouv.fr/reverse/?lon=${Longitude}&lat=${Latitude}'!我怎么能这么做?目标是在地图上放置点(根据生成的GeoJSON文件)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-25 21:07:24

您可以使用角HttpClient处理http请求。

  1. 第一次在HttpClientModule中导入app.module 从‘@ HttpClientModule /公用/http’导入{ HttpClientModule};@NgModule({ imports:.,HttpClientModule,. })
  2. 在您的app.component中,从服务器获取信息 从‘@ navigator.geolocation.getCurrentPosition((position)=>{ / HttpClient /http’导入{HttpClient};构造函数(私有http: HttpClient) {this.getLocation();} getLocation():void{ if (navigator.geolocation) { position.coords.longitude;const纬度= position.coords.latitude;this.callApi(经度、纬度).subscribe(n => { console.log(n);//此处可以将几何添加到矢量源};});}console.log(“不支持地理位置”)}callApi(经度:数字,纬度:数字):可观测的{ const = https://api-adresse.data.gouv.fr/reverse/?lon=${Longitude}&lat=${Latitude};返回this.http.get( url ) }
  3. 在使用openlayers创建VectorSource并在获取服务器信息之后,在源上添加几何图形
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50532066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档