问题描述
在我更改地图样式时,出现“在MapBox Web应用程序中使用路线”的问题。这个问题已在github中问到,但尚未得到解决。 (从2018年开始)希望到目前为止,对于这种情况的发生原因,有一种解决方案。
如果使用已渲染的方向更改地图样式,则最终会得到:Error: The layer 'directions-route-line-alt' does not exist in the map's style and cannot be queried for features.
(来自github问题-下面的链接)
本示例是根据以下示例生成的:https://www.mapbox.com/mapbox-gl-js/example/mapbox-gl-directions/
Example of issue:
https://plnkr.co/edit/M8mj1WTH1KjDa1dhiUKw?p=preview&preview
Git hub原始帖子: https://github.com/mapbox/mapbox-gl-js/issues/7019
我的代码: https://github.com/juanmguevara/MapBoxMapping
感谢您的帮助!
解决方法
将MapboxDirections控件添加到地图时,它会添加一两个额外的图层。
“更改地图的样式”时,实际上是在删除所有现有的源和图层,并添加新的源和图层。
因此它将删除您在开始时添加的图层,这将导致您看到的错误。
更改地图样式后,应删除并重新添加MapboxDirections控件。