0

返されたルーティング オブジェクトをリーフレット ルーティング マシンにキャッシュすることを考えています。しかし、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}
        ]
    }
});

コントロール オブジェクトをローカルに保存し、再度取得してマップに追加するのを手伝ってください。

4

1 に答える 1

0

JSON.stringify() を使用してオブジェクトをシリアル化できません。これは、循環オブジェクトであるというエラーが発生するためです。

循環参照を持つオブジェクトがあるようです。ここで述べたように stringify の 2 番目のパラメーターを使用することをお勧めしますが、循環参照だけでなく複数回表示されるものをすべて削除するため、問題が発生する可能性があります。

このプラグインをチェックアウトしてください。

于 2016-05-01T20:58:31.997 に答える