Mapbox-更改地图样式会导致“方向”无法正常运行

问题描述

在我更改地图样式时,出现“在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控件。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...