在indexeddb中存储maps.LatLng

时间:2012-12-07 21:53:16

标签: indexeddb

也许是一个愚蠢的问题,但是当我将一个maps.LatLng对象放入一个indexeddb对象库中,然后我从商店中获取这个对象的地图。 然后LatLng对象变成了一个普通的Object。

控制台告诉我这个

lat:R(未检索的LatLng) $ a:52.470233 ab:6.028643999999986 proto :R

值:对象(已检索的LanLng) $ a:52.524495 ab:6.059285999999929 id:1 proto :对象

有人可以告诉我该做什么或者是保存纬度和经度的最佳做法,并在获取数据后将其转换为客户端LatLng对象。

感谢。

1 个答案:

答案 0 :(得分:1)

IndexedDB存储您的数据structured clone

我不知道你的LatLng对象。方式是您的商店只有数据,以便您可以恢复它。例如,假设您要存储latLng对象,

record = {id: latLng.id, lat: latLng.lat, lng: latLng.lng}
db.put('LatLng', record)

db.get('LatLng', id).done(function(obj) {
  var lat_from_store = new LatLng(obj.id, obj.lat, obj.lng);
});