2012-03-25 57 views
0

我有一个应用程序保存谷歌地图标记,我基本上保存在数组中的纬度坐标/ vriables,然后我把它保存在我的mongodb中。当我重新加载这些标记时,我循环访问数组,并从保存的lat lng变量中创建标记。如何保存标记?

我的问题是,当我第一次保存我的标记时,经纬度被称为Pa和lng Oa,然后1个月前,我保存标记,然后尝试加载它们,但是我的循环无法识别经度变量,它们被改为Sa,Ta。所以我改变了我的客户端代码来取消Sa,Ta的变量,没有什么大不了的。

今天,我保存另一个标记数组,尝试加载它,它不工作,再次他们的本地谷歌API变量名称更改为经纬度和纬度...我的客户端代码不起作用对于任何新保存的标记。

我显然不是保存标记的“谷歌”方式,我做错了什么?

谢谢

+0

不知道为什么我得到-1,这个问题是合法的,加上答案是非常好的。 – guiomie 2012-03-25 13:52:18

回答

3

您不应该依赖最小化代码的变量名称。称他们为“lat”和“lon”或类似的东西。诸如Pa之类的内部名称是在每个重新编译上可能会丢失。特别是,当Google修复错误或发布新版本的API时,它们可能会发生变化。

所以,不要盲目编码标记对象。将它们转换为您自己控制的稳定表示(而不是Google自动代码编译器会随意维护和更改)。

0

由于API似乎是在你可能想从它解耦实施一段时间一次改变每一个。存储经纬度,然后编写适配器,将该数据映射到Google API并保存。

0

mongodb不适合存储纬度/经度,因为在BSON中没有任何精度或十进制数据类型。 mongo data types