如何在Google地图中保存DirectionsResult对象

时间:2010-10-25 13:25:49

标签: save google-maps-api-3 routes

我希望能够在Google地图中绘制路线,通过拖动来修改该路线,保存更改并稍后重新加载并进一步编辑。与谷歌的MyMap一样。只需保存原点和目的地位置就行不通,因为它不会重新加载相同的路线。

我可以保存via_waypoint []数组中的所有点。这允许 我将路线重新绘制为折线但不再可编辑。

文档说,DirectionsResult是以JSON格式返回的 格式。所以我试图将DirectionsResult转换为JSON string,将该字符串保存并重新加载为JSON对象并将其传递给 DirectionsRenderer。但它没有显示,也没有错误 抛出。

以下是我尝试做的一个示例。我已经将保存跳过了数据库步骤。我将DirectionsResult转换为字符串,然后再转换回JSON对象。

   directionsService.route(request, function(response, status) {
     if (status == google.maps.DirectionsStatus.OK) {
       var str = JSON.stringify(response))
       var obj= JSON.parse(str)
       directionsDisplay.setDirections(obj);
     }

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:-1)

为什么不保存 waypoint [] 数组的坐标并将它们重新引入 DirectionsRequest 对象的航路点成员?稍后,当您重新加载页面时,像往常一样向 DirectionsService 发出请求,但使用前面提到的 DirectionsRequest 对象。如果您在渲染器的 DirectionsRendererOptions 中将可拖动设置为 true ,则应该是可拖动的。