【问题标题】:What exactly are "levels" in polyline encoding/decoding?折线编码/解码中的“级别”到底是什么?
【发布时间】:2016-07-03 23:41:18
【问题描述】:

什么是折线编码/解码中的“级别”,它们与Google Maps API v3Android Maps API v2 中的地图缩放级别究竟有什么关系?

我能找到的唯一描述来自Interactive Polyline Encoder Utility

Google 地图中的折线由一组纬度/经度对组成。此外,对于编码折线中的每个顶点(位置),可以指定一个级别,指示该位置应出现在该级别和任何更高级别(即缩放的任何减少)上。如果某个位置未出现在给定级别上,则该线将从上一个可见位置转到下一个可见位置。请注意,第一个和最后一个位置必须是 3 级点,否则折线不会显示在所有级别上。

“3 级”是否对应于 Google Maps API v3 或 Android Maps API v2 中的 3 级缩放?

这是 Google Maps API v3 中缩放级别 3 的样子(没有显示折线 - 这只是为了说明“缩放级别 = 3”的样子):

如果我们进一步缩小一级以放大 2 级,是否应该显示“3 级”点?

引用:

请注意,第一个和最后一个位置必须是 3 级点,否则折线不会显示在所有级别上。

...似乎表示Level 3点应该在所有级别上显示,包括缩放级别2、1和0。

我想知道如果声明:

...可以指定一个级别,指示该位置应显示在该级别和任何更高级别(即缩放中的任何减少。)

...实际上应该是:

...可以指定一个级别,指示该位置应显示在该级别和任何更高级别(即缩放中的任何增加。)

“缩小缩放”似乎不正确,因为 18 级(非常放大)点将在 3 级(非常缩小)上呈现。

“增加缩放”似乎通常是有意义的(当您放大到 18 级时,您也会渲染 3 级缩小点 - 换句话说,当您放大到更靠近地图时添加细节) -然而,这似乎与 3 级点应以较低的缩放级别 2、1 和 0 渲染的说法相矛盾。

在 Android 上,开源的 android-maps-utils library 包含一个 decode polylines 的方法,但它不处理级别,所以我不知道是否有现成的到 Android Maps API v2 缩放级别的映射.

谁能解释清楚?

【问题讨论】:

  • 我想知道你的代码中的“编码折线”是在哪里写的。我根本看不到代码。
  • @wf9a5m75 Javascript 代码中没有任何编码的折线,也没有显示在地图上 - 我使用这些屏幕截图只是为了说明特定缩放级别在 Google 地图上的样子。抱歉,如果不清楚 - 我会在问题中添加一个关于此的注释。

标签: google-maps-api-3 android-maps-v2 polyline google-polyline android-maps-utils


【解决方案1】:

关卡是一个过时的功能。他们控制点在某些缩放级别是否可见。它们是 Google Maps API v2 的一个重要功能,但您现在应该忽略它们; Google Maps API v3 会自动完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2017-09-29
    • 2021-11-16
    相关资源
    最近更新 更多