1

ばかげた質問かもしれませんが、maps.LatLng オブジェクトを indexeddb objectstore に入れてから、ストアからこのオブジェクトを取得すると、マップが表示されます。その後、LatLng オブジェクトは通常のオブジェクトに変わりました。

コンソールにこれが表示されます

lat: R (取得されていない LatLng) $a: 52.470233 ab: 6.028643999999986 proto : R

値: オブジェクト (取得された LanLng) $a: 52.524495 ab: 6.059285999999929 id: 1 proto : オブジェクト

何をすべきか、または緯度と経度を保存し、データを取得した後にクライアントの LatLng オブジェクトを変換するためのベストプラクティスを教えてください。

ありがとう。

4

1 に答える 1

1

IndexedDBは、データの構造化クローンを格納します。

あなたの 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);
});
于 2012-12-08T17:26:08.007 に答える