我有一个可以保存谷歌地图标记的应用程序,我基本上将lat lng坐标/ vriables保存在一个数组中,然后我将它保存在我的mongodb中。当我重新加载这些标记时,我在数组中循环并从保存的lat lng变量创建标记。
我的问题是,当我第一次保存标记时,一个lat称为Pa和一个lng Oa,然后1个月前,我保存标记,然后尝试加载它们,但我的循环无法识别lat lng变量,它们被改为Sa,Ta。所以我改变了我的客户端代码来取代Sa,Ta的变量,没什么大不了的。
今天,我保存另一个标记数组,尝试加载它,它不起作用,再次将它们的原生google api变量名称更改为lat Ua和lng Va ...我的客户端代码不起作用任何新保存的标记。
我显然没有以“google”方式保存标记,我做错了什么?
谢谢
答案 0 :(得分:3)
您不应该依赖最小化代码的变量名称。称他们为“lat”和“lon”或类似的东西。 Pa
等内部名称在每次重新编译时可能会丢失 。特别是,当Google修复错误或发布新版API时,它们可能会发生变化。
所以不要盲目地编码标记对象。将它们转换为您自己控制的稳定表示(而不是Google自动维护和更改的自动代码编译器)。
答案 1 :(得分:0)
由于API似乎每隔一段时间就会发生变化,您可能希望将实现与其分离。然后根据需要存储lat和lon,然后编写适配器,将适当的数据映射到Google API,然后保存。
答案 2 :(得分:0)
mongodb不适合存储lat / lng,因为BSON中没有任意精度或十进制数据类型。 mongo data types