在getLocation()函数中创建一个VectorSource

时间:2018-05-28 08:37:47

标签: javascript angular api openlayers

我正在使用OpenLayers(4.6.5)和Angular(6)编制地图。我正在使用法语API,在请求结束时返回GeoJSON文件,如下所示:

https://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357

我想对用户位置使用相同的原则。为了执行请求我正在使用HTTP协议。我创建了一个Stackblitz来说明我的工作。

我能够恢复用户位置并使用纬度和经度构建请求。但我无法使用VectorSource中的URL来放置与该位置对应的点。

我有三个错误:Cannot read property 'setMap' of undefinedERROR CONTEXTrbush_1.default is not a function

1 个答案:

答案 0 :(得分:1)

使用callApi进行2次HTTP调用:返回的对象为Subscription

在第一种情况下,你subscribe:它在那里一切都很好。

在第二次通话中,您将其用作网址的字符串:这是您的问题

请考虑直接使用以下网址:

url: `https://api-adresse.data.gouv.fr/reverse/?lon=${longitude}&lat=${latitude}`