静态谷歌地图的阿特拉斯风格地图索引

时间:2010-12-27 17:49:33

标签: google-maps trigonometry mashup atlas mercator

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

接下来我打算做点什么,

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

一些要求,

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

以下是我想要为其分类标记的地图示例, static map example link.

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

但我认为我仍然需要一些帮助才能开始。任何人都可以帮助写出一些伪代码或发布更多资源吗?我现在处于一种紧张状态。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

看来,如果您没有为静态地图提供缩放级别,则此方法中计算的缩放级别会自动选择Google的预设缩放级别。

在PHP中有一个很好的库来完成所有这些here