【问题标题】:Google Maps API crashes older iOS mobile SafariGoogle Maps API 使旧版 iOS 移动 Safari 崩溃
【发布时间】:2012-10-08 21:06:01
【问题描述】:

我在我的个人网站上通过 google maps v3 api 调用地图。一切似乎都运行良好 - 直到我被告知我的网站导致移动设备崩溃......

在最初的震惊和恐惧之后,我开始测试多台设备,但它似乎只影响较旧的 iOS 版本。它在装有最新 iOS 6 的 iPhone 4 和 5 上运行良好。它在 iOS 5.1 上使我的 iPAD 1 崩溃,并且看到它也使 iPhone 4S(未知 iOS)崩溃;我测试过的安卓手机似乎运行良好......所以如果我的观察是正确的,它似乎是一个版本而不是性能问题。

我在这里找到了关于此类问题的唯一其他参考:http://blog.rotacoo.com/lazy-loading-instances-of-the-google-maps-api ... 尽管问题似乎是大量 API 调用。我只执行一个...

到目前为止,我尝试调用 Google Maps API 的 v3.8 / v3.9 / 3.10,将我加载的地图重置为基本设置等,异步加载......但问题似乎是一致的......

目前我正在像这样在标题中加载 API:

    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=****&sensor=false"></script> 

我确实尝试通过functions.php中的入队脚本加载它,但似乎&会产生很多问题......

我正在运行最新的 Wordpress,您可以在以下位置查看该网站:www.deborre.net

非常感谢任何帮助!谢谢。

【问题讨论】:

    标签: wordpress google-maps-api-3


    【解决方案1】:

    我知道这已经晚了,但我遇到了同样的问题,我摆脱了标记动画。我正在尝试使用带有 DROP 动画的自定义标记,该标记在桌面上运行良好,但始终使我的 iPad 2 崩溃。不确定这是否是此处所述问题的解决方案,但它可能会在将来为某人节省一些麻烦。

    另外,我使用的是 Modernizr,所以我的最终代码如下所示(在 iPad2 和 iPhone5 上测试 - 都是 iOS6):

    new google.maps.Marker({
        position: new google.maps.LatLng($this.attr('data-lat'), $this.attr('data-lon')),
        map: map,
        animation: Modernizr.touch ? '' : google.maps.Animation.DROP,
        icon: icon,
        shadow: shadow
    });
    

    【讨论】:

      【解决方案2】:

      我的最佳猜测是,这是这些设备上的内存总量问题。运行 iOS

      WordPress 网站往往没有得到很好的优化。只需查看页面上

      虽然这不是最好的答案,但请尝试减少页面上的外部脚本和样式表的数量,看看是否会产生影响。构建了 WordPress 主题之后,这当然不是特别容易做到的。

      【讨论】:

      • 感谢您的回答。我已经禁用了所有插件并取出了所有功能,只留下了非常基本的地图.. 谷歌地图 api 开始加载它仍然崩溃。最让我困惑的是,它似乎不是设备性能(它使 iPhone 4S 崩溃但没有打扰 iPhone 4),而是 iOS 版本才是重要的。将尝试再次剥离所有额外功能并隔离问题......我只是希望有人会在我加载 Google API 时发现错误 - 甚至以前经历过类似的事情。
      • 我还没有看到这个确切的问题。您可以尝试使用相同的地图逻辑制作静态页面(非 wordpress),看看这是否也会崩溃。这样人们就更容易看穿了。我扫描了您的代码,没有发现任何明显的错误。
      • 嘿,再次感谢,我确实听从了您的建议,首先将 WP 生成的整个页面复制到一个新的静态页面中.. 具有相同的崩溃结果......然后再次取出脚本总是崩溃直到 Maps API 被删除……但我只是取出内容并减少了页面加载,这似乎起到了作用……尽管如此,它仍然有如此巨大的效果。但至少这给了我一个优化的起点......再次感谢!
      • 较旧的移动 safari 有一些相当严格的内存限制。这些与设备规格没有直接关系。
      • 奇怪的是,在 iOS 上使用 chrome 时也会发生这种情况。还是无论如何都受到同样的限制?
      猜你喜欢
      • 2015-11-09
      • 1970-01-01
      • 2014-02-05
      • 2018-03-13
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      相关资源
      最近更新 更多