0

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

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

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

几个要求,

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

这是我想对其标记进行分类的地图示例, 静态地图示例链接。

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

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

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

4

1 回答 1

0

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

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

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

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

在 PHP 中有一个很好的库可以在这里完成所有这些工作。

于 2010-12-29T02:21:11.847 回答