谷歌地图折线不显示并报错

7

我有一个Ionic 3应用程序,并将其更新为IONIC 4。因此,当我使用xcode 10编译ios 12的应用程序时,谷歌地图折线不会渲染并抛出错误。在IONIC 3和ios 11.3上它渲染得非常完美,但在升级后停止显示:

我的代码如下:

for (const path of dashedlinePaths) {

  const lineSymbol = {
    path: 'M 0,-1 0,1',
    strokeOpacity: 1,
    scale: 4
  };

  let dashedPath = new google.maps.Polyline({
    path: path,
    geodesic: true,
    strokeOpacity: 0,
    strokeColor: '#ff883c',
    icons: [{
      icon: lineSymbol,
      offset: '0',
      repeat: '20px'
    }]
  });

  dashedPath.setMap(this.googleMap);
}

for (const path of linePaths) {

  let linePath = new google.maps.Polyline({
    path: path,
    geodesic: true,
    strokeColor: '#ff883c',
    strokeOpacity: 1.0,
    strokeWeight: 4
  });

  linePath.setMap(this.googleMap);
}

错误信息通常会显示类似于以下内容:

TypeError: null is not an object (evaluating 'e.lineJoin="round"')
runTask — polyfills.js:3880
invokeTask — polyfills.js:4017
n — polyfills.js:3457
runTask — polyfills.js:3880
同时它显示了警告信息,例如:
Total canvas memory use exceeds the maximum limit (224 MB).lW — poly.js:52:321
当我尝试缩放地图时,出现错误:
TypeError: null is not an object (evaluating 'a.scale')
runTask — polyfills.js:3880
invokeTask — polyfills.js:4017
n — polyfills.js:3457
runTask — polyfills.js:3880

为什么被踩了,给个理由,这样是不被接受的。 - Pooja Shah
我发现在Google Maps的Javascript中也遇到了同样的问题。在我不断地放大和缩小后,我得到了TypeError和Total Canvas内存错误。 - eepete
1
仍在调查中。 我想传达的是,基于Web的系统以及编译用于IOS本地使用的代码存在问题。 当我在IOS的Safari浏览器中查看时,我发现这一点,并且在桌面Chrome浏览器中,我可以无限制地进行平移和缩放而没有任何问题。 但是在IOS Safari浏览器中,使用Google Maps进行6到10次平移和缩放操作后,我会在控制台中看到错误信息。 桌面版的Safari浏览器没有问题,桌面版的Firefox浏览器也似乎不受影响。 因此,我的重点是在IOS Safari浏览器上。 - eepete
2
周末花时间制作了一个简单的网页来展示问题,并向苹果和谷歌提交了报告。该页面允许您在观看苹果调试器中的“画布”选项卡时进行平移和缩放,而无需使用图标。然后,您可以点击一个按钮来显示图标,进行平移和缩放,没有问题。接着,再点击一个按钮添加一条折线,然后您将看到41个孤立的画布。重新加载,按下不同的按钮并放置一个多边形,会有更多的孤立画布。无法共享,测试页面链接到我的服务器太多。但现在两个团队都可以很容易地看到故障和背后的JavaScript代码。 - eepete
1
最新版本的MacBook Pro上的桌面版Safari更新:它确实存在问题,并且具有不断增长的画布/内存大小。只是在超过1.2G左右的大小之前,您才会收到“此应用程序正在使用大量内存”的警告。大多数用户可能永远不会看到它,因为大多数网站不会运行/显示一两天。因此,用户将永远不会意识到这个错误。 我的旧款2009年的MacPro Safari无法更新,但没有这个问题。 - eepete
显示剩余7条评论
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,