在 getLocation() 函数中创建一个 VectorSource
Create a VectorSource inside a getLocation() function
我正在使用 OpenLayers (4.6.5) and Angular (6). I'm using a french API 编写地图,在这样的请求结束时 returns GeoJSON 文件:
https://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357
.
我想对用户位置使用相同的原理。为了执行请求,我使用了 HTTP 协议。我创建了一个 Stackblitz 来说明我的工作。
我能够恢复用户位置并使用经纬度构建请求。但是我不能使用 VectorSource 中的 URL 来放置与该位置对应的点。
我有三个错误:Cannot read property 'setMap' of undefined
、ERROR CONTEXT
和 rbush_1.default is not a function
您使用 callApi
进行了 2 次 HTTP 调用:返回的对象是 Subscription
。
在第一种情况下,您 subscribe
:那里一切都很好。
在第二次调用中,您将它用作 URL 的字符串:那是您的问题。
考虑直接使用 URL 例如:
url: `https://api-adresse.data.gouv.fr/reverse/?lon=${longitude}&lat=${latitude}`
我正在使用 OpenLayers (4.6.5) and Angular (6). I'm using a french API 编写地图,在这样的请求结束时 returns GeoJSON 文件:
https://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357
.
我想对用户位置使用相同的原理。为了执行请求,我使用了 HTTP 协议。我创建了一个 Stackblitz 来说明我的工作。
我能够恢复用户位置并使用经纬度构建请求。但是我不能使用 VectorSource 中的 URL 来放置与该位置对应的点。
我有三个错误:Cannot read property 'setMap' of undefined
、ERROR CONTEXT
和 rbush_1.default is not a function
您使用 callApi
进行了 2 次 HTTP 调用:返回的对象是 Subscription
。
在第一种情况下,您 subscribe
:那里一切都很好。
在第二次调用中,您将它用作 URL 的字符串:那是您的问题。
考虑直接使用 URL 例如:
url: `https://api-adresse.data.gouv.fr/reverse/?lon=${longitude}&lat=${latitude}`