Google 地图 MVCArray notification() 不起作用?

问题描述 投票:0回答:1

我正在寻找一种方法来使我的地图对象保持最新。 F.e.一条折线。

我有一个“父级”

MVCArray
,其中包含一些附加信息,我正在处理该数组以将其作为
MVCArray<LatLng>
传递给折线。

但是这样做会阻止折线自动更新,因为只有父数组才能获取所有更新的信息。


所以我查看了文档并发现了

MVCArray.notify()

使用

.notify(key: string)
我们可以创建一个事件。

在代码中的其他地方,我们可以设置监听器

MVCObject.addListener(key: string, handler: function)

并在处理程序内部执行我们需要做的任何事情。

但是

在我的代码中这不起作用。

constructor() {
  this.points.addListener("onChange", () => {
    console.log(this.points);
  });
}

draw() { // this gets called frequently
    this.points.notify("onChange");
}

没有给我控制台日志。 我还尝试了已经预定义的事件。

  this.points.addListener("set_at", (index: number) => {
    console.log("set at ", index);
  });

this.points.setAt(i,{...props})

也没有给我任何日志...

为什么

.notify()
不起作用,我做错了什么吗?

或者是否有另一种解决方案可以在父数据更新时更新处理后的数据?

google-maps google-maps-api-3
1个回答
0
投票

好吧,在看了更多内容并向人工智能寻求指导后我明白了。 我就按照我的理解来回答。

使用

.notify(key: string)
我们可以创建一个事件。

在代码中的其他地方,我们可以设置监听器

MVCObject.addListener(key: string, handler: function)

并在处理程序内部执行我们需要做的任何事情。

但是

在我的代码中这不起作用。

constructor() {
  this.points.addListener("onChange", () => {
    console.log(this.points);
  });
}

draw() { // this gets called frequently
    this.points.notify("onChange");
}

没有给我控制台日志。

所以我仍然需要更多帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.