我正在使用静态的Google地图,但实际上,此问题可能适用于任何地图项目。我想将地图分为多个象限(例如50x50像素),并将列标记为a,b,c ..。

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

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

一些要求,

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

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

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

但是我认为我仍然需要一些帮助。谁能帮助写出一些伪代码或发布更多资源?我目前有点不满。

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

有帮助吗?

解决方案

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

遵循PHP代码 这个网站 为了将LNG对转换为像素坐标,我能够按X值和列将单个像素行分类为Pixels y值。

要计算缩放水平,我确定由标记收集定义的MaxLat,Maxlng,Minlat和Minlng值。然后,我在给定的变焦级别计算了地图的边界。最后,我使用了一种蛮力方法来检查由缩放级别确定的地图的新边界包括由最大值,min lat,lng值定义的标记集合值的边界。从缩放级别21(最大放大Google Maps)开始,我降低了缩放级别,直到找到包含所有标记的缩放级别为止。

看来,在此方法中计算的缩放级别如果您不为静态映射提供缩放级别,则自动选择了Google的预设缩放级别。

在PHP中,有一个不错的图书馆可以做所有这一切 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top