指令/ * ngIf只调用一次,允许在地图上重绘新方向

时间:2017-07-10 11:03:35

标签: angular google-maps angular-directive

首先,这是我第一次使用角度,我采用这个迷你项目来熟悉这个框架。

在这个项目中,我有一个起点和目的地坐标,以及航点坐标。我希望谷歌地图使用航路点从起点到终点指示方向。

我正在使用Angular Google地图:https://github.com/SebastianM/angular-google-maps,因为它不支持地图方向我创建了一个指令,它将在地图上绘制方向 以下是plnkr中的一些代码:https://plnkr.co/edit/JtZrBJHNufUFWnVjwcxX

brave://open-url?url=http://

我遇到的问题是方向只会被绘制一次,它不会删除旧方向并绘制新方向。它以前工作但不再工作

我注意到该指令只调用了一次

  

* ngIf =" drawRoute"

即使drawRoute值已更改。

这可能是什么问题? 提前谢谢你。

1 个答案:

答案 0 :(得分:1)

您在同一更改检测周期内将drawRoute设置为falsetrue。解决方法是将其设置为false,然后使用setTimeout强制执行另一个更改检测周期:

setTimeout(() => {
  this.drawRoute = true;
}, 100);