【问题标题】:Atlas style map index for static google map静态谷歌地图的地图集风格地图索引
【发布时间】:2010-12-27 17:49:33
【问题描述】:

我使用的是静态谷歌地图,但这个问题确实适用于任何地图项目。我想将地图划分为多个象限(例如 50x50 像素)并将列标记为 A、B、C....,将行标记为 1、2、3...

接下来我打算做类似的事情,

1) 找出最北、最东、最南、最西的标记 2)使用该信息来定义每个行和列框的边界框 3) 按行列对每个标记进行分类(示例标记 1 = [A,2])

一些要求,

  • 我不知道缩放级别,因为我让 Google 为我适当地设置了缩放级别,我宁愿不使用依赖于缩放级别的算法。不过,我确实知道地图上显示的所有标记的位置。

这是我想对其标记进行分类的地图示例, static map example link.

我发现这些看起来像是一个好的开始, Resource 1, Resource 2

但我认为我仍然需要一些帮助才能开始。任何人都可以帮助编写一些伪代码或发布更多资源吗?我现在有点不习惯。

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

【问题讨论】:

  • 实际上,也许我让这变得比它需要的更难。我认为我应该做的更多是,给定我的中心点和所有标记确定缩放级别(或跨度大小),然后使用它来确定像素与度数的比率。然后使用它计算我集合中每个 lat,lng 对的相应像素位置,并通过检查与 lat,lng 对对应的 x,y 像素对在哪个象限中对其进行分类。
  • 这个有什么用?因为也许我可以给你指出另一个方向
  • 对不起,我没有在这里看到你的帖子。我当时的用途是使用谷歌静态地图创建地图集样式地图。谷歌地图允许您标记标记 A-Z 或使用您自己的自定义标记,但实际上我只是想指出要引用的标记集群。我很好奇你想到了什么资源,尽管我已经能够弄清楚我需要什么来达到我的目的。

标签: google-maps trigonometry mashup atlas mercator


【解决方案1】:

好吧,两天后我终于明白了。以为我会与后来偶然发现这一点的人分享我的想法。

按照this site 上的 PHP 代码并将 lat、lng 对转换为像素坐标,我能够按 x 值对单个像素行进行分类,并按像素 y 值对列进行分类。

为了计算缩放级别,我确定了由标记集合定义的 maxLat、maxLng、minLat 和 minLng 值。然后我计算了给定缩放级别的地图边界。最后,我使用了一种蛮力方法来检查由缩放级别确定的地图的新边界是否包括由标记集合的 max、min lat、lng 值定义的边界。从缩放级别 21(谷歌地图上的最大缩放)开始,我减小缩放级别,直到找到包含所有标记的缩放级别。

如果您没有为静态地图提供缩放级别,那么在此方法中计算的缩放级别似乎与 Google 自动选择的预设缩放级别相匹配。

在 PHP 中有一个不错的库来完成所有这些工作here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    相关资源
    最近更新 更多