更新 OpenLayers 地图时无法找出错误 - 未捕获的类型错误:无法读取未定义的属性(读取“0”)

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

我正在开发一个使用 OpenLayers 7.2 的网络应用程序,它允许用户同时加载多个地图。我正在使用一张地图和一系列带有输入框的选项卡供用户输入地址。当用户单击另一个选项卡时,地图会更改为相应的地图位置。

该页面正在运行,用户可以搜索/加载每张地图,但我遇到了一个奇怪的错误,我无法弄清楚原因。

当我已经加载了 2 个地图并单击尚未分配的第三个选项卡时,似乎会发生错误。如果我然后单击返回到确实有地图的选项卡之一,则会导致以下错误:Uncaught TypeError: Cannot read properties of undefined (reading '0') 're click into 不是以前用地图打开的选项卡。我知道这很令人困惑,所以让我更具体地解释一下。

如果我点击第一个选项卡然后搜索并选择伦敦地图,然后我点击第二个选项卡并搜索/选择巴黎。我可以在选项卡 1 和选项卡 2 之间返回和第四,地图按预期加载。如果我单击选项卡 1(伦敦),然后单击选项卡 3(无地图),但我没有搜索,而是单击返回选项卡 2(应该是巴黎),我看到了伦敦的地图,并得到了杀死我的脚本的错误。但如上所述,如果我在选项卡 1(伦敦)上,然后单击选项卡 3,然后返回到 1,那没问题。

我还应该提一下,我也遇到了一个通用的“脚本错误”。每次我加载地图时都会收到消息。

我对编程很陌生,所以不知道如何解决这个问题。从我的搜索和测试中,我了解到这可能意味着存在一些未声明的变量,并且我发现这两个错误都来自以下行:

map.getView().setCenter(center);

这里是一个 JSFiddle 的链接,其中包含大部分相关代码。

在此方面的任何帮助将不胜感激。

javascript openlayers openlayers-7
© www.soinside.com 2019 - 2024. All rights reserved.