私はリーフレットのルーティングマシンで返されたルーティングオブジェクトをキャッシュすることを考えています。しかし、JSON.stringify()を使用してオブジェクトを直列化することはできません。循環オブジェクトであることを示すエラーが発生します。私はこれを克服できるいくつかのJavaスクリプトライブラリを使用しようとしましたが、それをデシリアライズするとオブジェクトが破壊されています。返されたルーティングオブジェクトをシリアル化し、リーフレットのルーティングマシンにローカルに格納する方法はありますか?
var control = L.Routing.control({
waypoints: [
L.latLng(57.74, 11.94),
L.latLng(57.6792, 11.949)
],
geocoder: L.Control.Geocoder.nominatim(),
routeWhileDragging: true,
reverseWaypoints: true,
showAlternatives: true,
altLineOptions: {
styles: [
{color: 'black', opacity: 0.15, weight: 9},
{color: 'white', opacity: 0.8, weight: 6},
{color: 'blue', opacity: 0.5, weight: 2}
]
}
});
コントロールオブジェクトをローカルに格納して再度マップに追加する際に助けてください。
「どのようなライブラリを使用したのですか」という意味はどうですか? –
dojox json refライブラリ。これはmapをレンダリングするためにcontrol.addto(map)を使うだけです。デシリアライズされたコントロールオブジェクトは「addtoが指定されていません」というエラーをスローします。 – raven