如何在传单路由机中本地序列化和存储返回的路由对象?

时间:2016-05-01 20:25:52

标签: javascript leaflet osrm

我正在考虑在传单路由机器中缓存返回的路由对象。但我无法使用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}
        ]
    }
});

帮助我在本地存储控件对象并再次检索它以将其添加到地图中。

1 个答案:

答案 0 :(得分:0)

  

我无法使用JSON.stringify()序列化对象,因为它会抛出   一个错误,说明它是一个圆形对象

似乎你有一个带有循环引用的对象,我建议使用stringify的第二个参数here,但是这可能会导致问题,因为它会删除多次出现的不仅仅是循环引用的内容。

结帐plugin希望它能为您效劳。