【问题标题】:Google polylines taking too much time to get rendered谷歌折线花费太多时间来渲染
【发布时间】:2013-05-09 05:59:15
【问题描述】:

我正在开发一个使用谷歌地图的iPhone 应用程序。

对于同一个应用程序,我使用 google direction WebService 来获取 2 个位置之间的方向。我从谷歌方向网络服务响应中获取编码折线并对其进行解码。

解码后,我得到了位置之间的坐标列表并将这些坐标连接到旁边的坐标,我得到了完整的方向。

但问题是这种加入(渲染)坐标需要太多时间,这对用户来说根本不友好。

一个奇怪的事情是,每次我渲染一个方向时,这个渲染所花费的时间都会增加。

注意:每次我为不同的位置渲染方向。有没有人遇到过类似的问题?

【问题讨论】:

  • 我注意到一次添加超过 300 个形状或标记时 UI 变得无响应。尽管地图在添加后与数千人一起工作得很好。也不支持在背景中添加形状和标记。
  • @jspooner 在我的例子中,我添加了一条包含大约 100-150 条非常小的折线的路径。当我每次渲染下一条路径时,它所花费的时间比以前的渲染要长得多。

标签: objective-c ios6 google-maps-sdk-ios google-polyline google-directions-api


【解决方案1】:

我得到了答案。如果方向折线中有 100 个坐标,则执行以下操作:
[path addCoordinate:coordinate1]
.
.
.
100次添加所有坐标
.
.
.
[path addCoordinate:coordinate100]

我所做的是加入前两个坐标,然后加入第二个和第三个坐标......加入第 99 个和第 100 个坐标。

现在,添加所有坐标解决了这个问题,并且只需要不到一秒钟的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 2016-05-07
    相关资源
    最近更新 更多