相关疑难解决方法(0)

无法反序列化GoogleMaps DirectionsResult对象

我正在使用GoogleMaps API v3.0并尝试将DirectionsResult保存到我的数据库,然后稍后检索它以在地图上使用.我的问题是,当我尝试通过从我的数据库中提取其JSON表示来重新保存已保存的对象时,该对象只是简单的JSON,它没有其组成对象的原始方法和功能.因此,我构建了一个修复例程,它接受dumbalt文本JSON并通过重建所有LatLng和LatLngBound对象来重建它.但是,仍然缺少某些东西,因为我的固定物体不像原来那样工作,这两个点出现在我的地图上,但它们之间的紫色线条缺失.

对于更好的序列化/保湿技术或任何关于我的修复程序可能缺失的想法,我们将不胜感激.

谢谢

替代文字 替代文字

request = {
   origin: homeLocation, 
   destination: jobLocation,
   travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
   if (status == google.maps.DirectionsStatus.OK) {
      var str = Ext.encode(response);  //<<==SAVING RAW JSON OBJECT TO DB (I USE ExtJs)
      var z = eval('(' + str + ')');   //<<==REHYDRATING DirectionsResult RAW JSON OBJECT
      FixDirectionResult(z);           //<<==ATTEMPT TO RE-ESTABLISH ORIGINAL OBJECTS
      directionsRenderer.setDirections(z);  //<<==THIS WORKS WITH response BUT NOT WITH z
   }
);
function FixDirectionResult(rslt) {
 for(r=0; r<rslt.routes.length; r++) {
  var route = rslt.routes[r];
  var bounds …
Run Code Online (Sandbox Code Playgroud)

javascript serialization json google-maps

11
推荐指数
1
解决办法
2568
查看次数

标签 统计

google-maps ×1

javascript ×1

json ×1

serialization ×1