2012-12-07 39 views
1

也许是一个愚蠢的问题,但是当我把一个maps.LatLng对象放入一个indexeddb对象存储,随后我从商店的地图得到这个对象。 然后LatLng对象变成了一个普通的对象。存储maps.LatLng在indexeddb

控制台显示我这个

纬度:R(非retreived经纬度) $一个:52.470233 AB:6.028643999999986 ,R

值:对象(retreived LanLng) $ A:52.524495 AB:6.059285999999929 ID:1个 :对象

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

谢谢。

+0

什么浏览器和版本? – dgrogan

回答

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); 
}); 
+0

我觉得我的问题并不十分清楚,我想我也必须提及,我想坚持一个google.maps.LatLng类。 – user1754393

+0

阅读结构化克隆算法。类方法不会持久。你也不需要坚持上课。 –