Javascript 谷歌方向api-一些备用路线经过公园

Javascript 谷歌方向api-一些备用路线经过公园,javascript,python,json,google-maps,google-directions-api,Javascript,Python,Json,Google Maps,Google Directions Api,当使用GoogleDirections api并将备选方案设置为true时,一些建议的路线会经过公园。其他人有没有观察到这种行为?下面是我找到的网址 它返回以下json响应,其中包含3条可选路由 { "routes" : [ { "bounds" : { "northeast" : { "lat" : 37.56534449999999, "lng" : -121.92352

当使用GoogleDirections api并将备选方案设置为true时,一些建议的路线会经过公园。其他人有没有观察到这种行为?下面是我找到的网址

它返回以下json响应,其中包含3条可选路由

{
   "routes" : [
      {
         "bounds" : {
            "northeast" : {
               "lat" : 37.56534449999999,
               "lng" : -121.923525
            },
            "southwest" : {
               "lat" : 37.5392255,
               "lng" : -121.9749241
            }
         },
         "copyrights" : "Map data ©2013 Google",
         "legs" : [
            {
               "distance" : {
                  "text" : "3.7 mi",
                  "value" : 6020
               },
               "duration" : {
                  "text" : "9 mins",
                  "value" : 531
               },
               "end_address" : "42701-42753 Mission Boulevard, Fremont, CA 94539, USA",
               "end_location" : {
                  "lat" : 37.5392255,
                  "lng" : -121.923525
               },
               "start_address" : "Fremont BART Station, Fremont, CA 94536, USA",
               "start_location" : {
                  "lat" : 37.5576351,
                  "lng" : -121.9749241
               },
               "steps" : [
                  {
                     "distance" : {
                        "text" : "400 ft",
                        "value" : 122
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 50
                     },
                     "end_location" : {
                        "lat" : 37.5570393,
                        "lng" : -121.9737687
                     },
                     "html_instructions" : "Head \u003cb\u003esoutheast\u003c/b\u003e toward \u003cb\u003eWalnut Ave\u003c/b\u003e",
                     "polyline" : {
                        "points" : "gnfdFffngVh@oA`A{BJY"
                     },
                     "start_location" : {
                        "lat" : 37.5576351,
                        "lng" : -121.9749241
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.9 mi",
                        "value" : 1406
                     },
                     "duration" : {
                        "text" : "2 mins",
                        "value" : 90
                     },
                     "end_location" : {
                        "lat" : 37.5653107,
                        "lng" : -121.9618013
                     },
                     "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eWalnut Ave\u003c/b\u003e",
                     "maneuver" : "turn-left",
                     "polyline" : {
                        "points" : "ojfdF`_ngVUQQMqAaA]]GEe@g@US]e@wBgD}@iBUa@iBcDkA{B}BkEqAgCsDsH]o@kBeD_A{AeAgBYk@yDaGwAyBQWg@{@"
                     },
                     "start_location" : {
                        "lat" : 37.5570393,
                        "lng" : -121.9737687
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "2.8 mi",
                        "value" : 4492
                     },
                     "duration" : {
                        "text" : "7 mins",
                        "value" : 391
                     },
                     "end_location" : {
                        "lat" : 37.5392255,
                        "lng" : -121.923525
                     },
                     "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eMission Blvd\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eDestination will be on the right\u003c/div\u003e",
                     "maneuver" : "turn-right",
                     "polyline" : {
                        "points" : "e~gdFftkgVE]?G?G?EBIBM~JwIlAgA`EeDnBiBb@a@zA}AZ[dDmGxHuNxAoCP]d@_AZo@jBqDpAaCzJwQz@aBzAsCzIsO|AsCdGqKbBuCN]jGgMXm@r@}At@}Ab@y@Rg@n@sAh@gArAiCrBgE`@{@zAaD\\q@Zk@Ra@pF_LpG{M`AsBjAcCn@mAJSLUNWb@k@T[j@q@@?DGDERO@AJGrA{@jAw@PMbAu@"
                     },
                     "start_location" : {
                        "lat" : 37.5653107,
                        "lng" : -121.9618013
                     },
                     "travel_mode" : "DRIVING"
                  }
               ],
               "via_waypoint" : []
            }
         ],
         "overview_polyline" : {
            "points" : "gnfdFffngVjBkEJYUQcBoAe@c@{@{@]e@wBgDsAkCuD_HoEsIqEcJkDaG_BsCkIoMEe@?MFWlM_L`EeDnBiB~B_CZ[dDmGrKeS~D_IlMyUvCuFbXoe@zGeNlAkC|CsG|BqEtCcGhDaHpSsb@xAoCx@gAl@q@`@_@|DiCbAu@"
         },
         "summary" : "Mission Blvd",
         "warnings" : [],
         "waypoint_order" : []
      },
      {
         "bounds" : {
            "northeast" : {
               "lat" : 37.5576351,
               "lng" : -121.923525
            },
            "southwest" : {
               "lat" : 37.5311789,
               "lng" : -121.977954
            }
         },
         "copyrights" : "Map data ©2013 Google",
         "legs" : [
            {
               "distance" : {
                  "text" : "4.9 mi",
                  "value" : 7824
               },
               "duration" : {
                  "text" : "11 mins",
                  "value" : 653
               },
               "end_address" : "42701-42753 Mission Boulevard, Fremont, CA 94539, USA",
               "end_location" : {
                  "lat" : 37.5392255,
                  "lng" : -121.923525
               },
               "start_address" : "Fremont BART Station, Fremont, CA 94536, USA",
               "start_location" : {
                  "lat" : 37.5576351,
                  "lng" : -121.9749241
               },
               "steps" : [
                  {
                     "distance" : {
                        "text" : "354 ft",
                        "value" : 108
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 16
                     },
                     "end_location" : {
                        "lat" : 37.5571031,
                        "lng" : -121.9739004
                     },
                     "html_instructions" : "Head \u003cb\u003esoutheast\u003c/b\u003e toward \u003cb\u003eWalnut Ave\u003c/b\u003e",
                     "polyline" : {
                        "points" : "gnfdFffngVh@oA`A{B"
                     },
                     "start_location" : {
                        "lat" : 37.5576351,
                        "lng" : -121.9749241
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.4 mi",
                        "value" : 683
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 74
                     },
                     "end_location" : {
                        "lat" : 37.5518666,
                        "lng" : -121.977954
                     },
                     "html_instructions" : "Take the 1st \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eWalnut Ave\u003c/b\u003e",
                     "polyline" : {
                        "points" : "{jfdFz_ngVXRzB|A`@ZdBpA~CvBjAx@`@XDBRNHHVR`Ap@p@d@hBpAbAr@VRzAdAVR"
                     },
                     "start_location" : {
                        "lat" : 37.5571031,
                        "lng" : -121.9739004
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.3 mi",
                        "value" : 507
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 66
                     },
                     "end_location" : {
                        "lat" : 37.5493906,
                        "lng" : -121.9731305
                     },
                     "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003ePaseo Padre Pkwy\u003c/b\u003e",
                     "maneuver" : "turn-left",
                     "polyline" : {
                        "points" : "ejedFdyngVJWn@wARi@h@qA|AqD|AwDpA}CfBoE"
                     },
                     "start_location" : {
                        "lat" : 37.5518666,
                        "lng" : -121.977954
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "2.7 mi",
                        "value" : 4408
                     },
                     "duration" : {
                        "text" : "6 mins",
                        "value" : 330
                     },
                     "end_location" : {
                        "lat" : 37.5316415,
                        "lng" : -121.9341935
                     },
                     "html_instructions" : "Continue straight to stay on \u003cb\u003ePaseo Padre Pkwy\u003c/b\u003e",
                     "maneuver" : "straight",
                     "polyline" : {
                        "points" : "uzddF`{mgVzAqDRg@pAaDTi@x@iB~@uBtAmDdAuBn@mAdAoBXg@dEwHf@}@lEsIb@y@h@_ALSt@_A^e@JOhCyCfAsAz@aAP[T]Tc@Tk@V{@Nq@Ls@Hm@Bg@Be@@g@?k@Ag@Cc@Eo@OoBg@qEO}@aA{FcAkFaAkFKoAEo@AiA@w@FeA?EL{@Ls@Nk@r@oBf@iA^o@\\e@Ra@NWXc@x@_B\\m@b@{@Vs@TcANk@Hg@R{AT}Ab@kD~AuMn@yETeB@QHq@Nq@Lc@Xk@PWPO`@[TMVKZI\\EfC@N?nB@|@CvBWrAWVGREhAc@v@g@~@}@h@u@LQDIHQJQ@C@CFMJ[\\_A`@yAd@aBPo@\\gAJQ^g@l@g@tAm@"
                     },
                     "start_location" : {
                        "lat" : 37.5493906,
                        "lng" : -121.9731305
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.2 mi",
                        "value" : 396
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 46
                     },
                     "end_location" : {
                        "lat" : 37.5311789,
                        "lng" : -121.9386345
                     },
                     "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eWashington Blvd\u003c/b\u003e",
                     "maneuver" : "turn-right",
                     "polyline" : {
                        "points" : "wkadFtgfgVPnBPvBEZBp@H`BB`@NtDLvBLnC"
                     },
                     "start_location" : {
                        "lat" : 37.5316415,
                        "lng" : -121.9341935
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.8 mi",
                        "value" : 1365
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 82
                     },
                     "end_location" : {
                        "lat" : 37.5385712,
                        "lng" : -121.927027
                     },
                     "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e to merge onto \u003cb\u003eI-680 N\u003c/b\u003e toward \u003cb\u003eSacramento\u003c/b\u003e",
                     "polyline" : {
                        "points" : "{hadFlcggVg@H[Fc@Be@?m@Ok@a@_@a@c@o@]e@g@_@gAmCAECGGSACAE[w@gAmCyFwMAAuAcDkCsGmCoGkAsCmA}CoCgG"
                     },
                     "start_location" : {
                        "lat" : 37.5311789,
                        "lng" : -121.9386345
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.2 mi",
                        "value" : 312
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 21
                     },
                     "end_location" : {
                        "lat" : 37.5395679,
                        "lng" : -121.9237934
                     },
                     "html_instructions" : "Take the \u003cb\u003eMission Blvd\u003c/b\u003e exit toward \u003cb\u003eCalifornia 238\u003c/b\u003e",
                     "maneuver" : "ramp-right",
                     "polyline" : {
                        "points" : "awbdF|zdgVCq@i@gAUg@Qa@K_@Mi@CWIgAAYASASAO?QAQCOEQCQEKEKGOCKGOQk@"
                     },
                     "start_location" : {
                        "lat" : 37.5385712,
                        "lng" : -121.927027
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "148 ft",
                        "value" : 45
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 18
                     },
                     "end_location" : {
                        "lat" : 37.5392255,
                        "lng" : -121.923525
                     },
                     "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eMission Blvd\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eDestination will be on the right\u003c/div\u003e",
                     "maneuver" : "turn-right",
                     "polyline" : {
                        "points" : "i}bdFtfdgVbAu@"
                     },
                     "start_location" : {
                        "lat" : 37.5395679,
                        "lng" : -121.9237934
                     },
                     "travel_mode" : "DRIVING"
                  }
               ],
               "via_waypoint" : [
                  {
                     "location" : {
                        "lat" : 37.542142,
                        "lng" : -121.9527896
                     },
                     "step_index" : 3,
                     "step_interpolation" : 0.4860572290564731
                  }
               ]
            }
         ],
         "overview_polyline" : {
            "points" : "gnfdFffngVjBkEtCpBfClBjFpDdAv@xAdAzCvBnE`DxBkFzDiJxDmJvEeLxB_FtAmDdAuBtB}D~E_JtFqKlAyBnBiCpEmFz@aAP[j@aAl@gB\\eBLuADmAAsAIsAOoBg@qEqAyHeCwMQ_CAiA@w@FkAZoBbA{CfAyBzAcCvAmCz@oBd@oB\\cCx@iGnCoTVwBXcBf@oAb@g@v@i@r@U\\EfC@~B@|@CvBWjB_@|Ai@v@g@~@}@v@gADIVg@r@mBfA{Dn@wBj@y@l@g@tAm@b@fFEZBp@LbC\\lHLnCg@H_AJe@?m@Ok@a@_@a@aAuAg@_@gAmCEMIW]}@aIeRqJiUyCqHoCgGCq@_AoB]aAQaAKaBEiAOeAWs@Y{@bAu@"
         },
         "summary" : "Paseo Padre Pkwy",
         "warnings" : [],
         "waypoint_order" : []
      },
      {
         "bounds" : {
            "northeast" : {
               "lat" : 37.5576351,
               "lng" : -121.923525
            },
            "southwest" : {
               "lat" : 37.5392255,
               "lng" : -121.977954
            }
         },
         "copyrights" : "Map data ©2013 Google",
         "legs" : [
            {
               "distance" : {
                  "text" : "4.3 mi",
                  "value" : 6957
               },
               "duration" : {
                  "text" : "12 mins",
                  "value" : 697
               },
               "end_address" : "42701-42753 Mission Boulevard, Fremont, CA 94539, USA",
               "end_location" : {
                  "lat" : 37.5392255,
                  "lng" : -121.923525
               },
               "start_address" : "Fremont BART Station, Fremont, CA 94536, USA",
               "start_location" : {
                  "lat" : 37.5576351,
                  "lng" : -121.9749241
               },
               "steps" : [
                  {
                     "distance" : {
                        "text" : "354 ft",
                        "value" : 108
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 16
                     },
                     "end_location" : {
                        "lat" : 37.5571031,
                        "lng" : -121.9739004
                     },
                     "html_instructions" : "Head \u003cb\u003esoutheast\u003c/b\u003e toward \u003cb\u003eWalnut Ave\u003c/b\u003e",
                     "polyline" : {
                        "points" : "gnfdFffngVh@oA`A{B"
                     },
                     "start_location" : {
                        "lat" : 37.5576351,
                        "lng" : -121.9749241
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.4 mi",
                        "value" : 683
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 74
                     },
                     "end_location" : {
                        "lat" : 37.5518666,
                        "lng" : -121.977954
                     },
                     "html_instructions" : "Take the 1st \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eWalnut Ave\u003c/b\u003e",
                     "polyline" : {
                        "points" : "{jfdFz_ngVXRzB|A`@ZdBpA~CvBjAx@`@XDBRNHHVR`Ap@p@d@hBpAbAr@VRzAdAVR"
                     },
                     "start_location" : {
                        "lat" : 37.5571031,
                        "lng" : -121.9739004
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.3 mi",
                        "value" : 507
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 66
                     },
                     "end_location" : {
                        "lat" : 37.5493906,
                        "lng" : -121.9731305
                     },
                     "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003ePaseo Padre Pkwy\u003c/b\u003e",
                     "maneuver" : "turn-left",
                     "polyline" : {
                        "points" : "ejedFdyngVJWn@wARi@h@qA|AqD|AwDpA}CfBoE"
                     },
                     "start_location" : {
                        "lat" : 37.5518666,
                        "lng" : -121.977954
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "1.6 mi",
                        "value" : 2600
                     },
                     "duration" : {
                        "text" : "3 mins",
                        "value" : 191
                     },
                     "end_location" : {
                        "lat" : 37.5411851,
                        "lng" : -121.9481001
                     },
                     "html_instructions" : "Continue straight to stay on \u003cb\u003ePaseo Padre Pkwy\u003c/b\u003e",
                     "maneuver" : "straight",
                     "polyline" : {
                        "points" : "uzddF`{mgVzAqDRg@pAaDTi@x@iB~@uBtAmDdAuBn@mAdAoBXg@dEwHf@}@lEsIb@y@h@_ALSt@_A^e@JOhCyCfAsAz@aAP[T]Tc@Tk@V{@Nq@Ls@Hm@Bg@Be@@g@?k@Ag@Cc@Eo@OoBg@qEO}@aA{FcAkFaAkFKoAEo@AiA@w@FeA?EL{@Ls@Nk@r@oBf@iA^o@\\e@Ra@NW"
                     },
                     "start_location" : {
                        "lat" : 37.5493906,
                        "lng" : -121.9731305
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.7 mi",
                        "value" : 1195
                     },
                     "duration" : {
                        "text" : "2 mins",
                        "value" : 106
                     },
                     "end_location" : {
                        "lat" : 37.54969699999999,
                        "lng" : -121.9398308
                     },
                     "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eDriscoll Rd\u003c/b\u003e",
                     "maneuver" : "turn-left",
                     "polyline" : {
                        "points" : "mgcdFr~hgVOS]YeEsD{BmB_BsAuEoEwAsAuB{BYYg@g@MMaBeBsBsBwBsBwAwAoCsCkDgD"
                     },
                     "start_location" : {
                        "lat" : 37.5411851,
                        "lng" : -121.9481001
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "1.2 mi",
                        "value" : 1864
                     },
                     "duration" : {
                        "text" : "4 mins",
                        "value" : 244
                     },
                     "end_location" : {
                        "lat" : 37.5392255,
                        "lng" : -121.923525
                     },
                     "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eMission Blvd\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eDestination will be on the right\u003c/div\u003e",
                     "maneuver" : "turn-right",
                     "polyline" : {
                        "points" : "s|ddF|jggVjGgMXm@r@}At@}Ab@y@Rg@n@sAh@gArAiCrBgE`@{@zAaD\\q@Zk@Ra@pF_LpG{M`AsBjAcCn@mAJSLUNWb@k@T[j@q@@?DGDERO@AJGrA{@jAw@PMbAu@"
                     },
                     "start_location" : {
                        "lat" : 37.54969699999999,
                        "lng" : -121.9398308
                     },
                     "travel_mode" : "DRIVING"
                  }
               ],
               "via_waypoint" : [
                  {
                     "location" : {
                        "lat" : 37.5448008,
                        "lng" : -121.9447476
                     },
                     "step_index" : 4,
                     "step_interpolation" : 0.4176798920642508
                  }
               ]
            }
         ],
         "overview_polyline" : {
            "points" : "gnfdFffngVjBkEtCpBfClBjFpDdAv@xAdAzCvBnE`DxBkFzDiJxDmJvEeLxB_FtAmDdAuBtB}D~E_JtFqKlAyBnBiCpEmFz@aAP[j@aAl@gB\\eBLuADmAAsAIsAOoBg@qEqAyHeCwMQ_CAiA@w@FkAZoBbA{CfAyBp@gANWOScFmE{EaEmHcHoCuCkGoGoEkEoCsCkDgDdHuNhB{DpC}FfEqI|B}E~H_PnMaXXi@r@cA`AmAFGf@_@~CsBtAcA"
         },
         "summary" : "Paseo Padre Pkwy and Mission Blvd",
         "warnings" : [],
         "waypoint_order" : []
      }
   ],
   "status" : "OK"
}
我在javascript中使用每个route对象的overview_多段线来查看地图中的多段线。我将使用来自后端python应用程序的API,javascript目前仅用于交叉检查,以防您想知道我为什么不使用javascript API

<html> 
<head> 
<title>Test</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?libraries=geometry&amp;sensor=false"></script>
<style type="text/css"> 
    #map {width:670px;height:600px;}
</style> 
<script type='text/javascript'>
function initialize() {
    var myLatlng = new google.maps.LatLng(37.557139,-121.975332);
    var myOptions = {
        zoom: 12,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("map"), myOptions);

    // between first two stops - alternate 2
    var polyLineStr = "gnfdFffngVjBkEtCpBfClBjFpDdAv@xAdAzCvBnE`DxBkFzDiJxDmJvEeLxB_FtAmDdAuBtB}D~E_JtFqKlAyBnBiCpEmFz@aAP[j@aAl@gB\eBLuADmAAsAIsAOoBg@qEqAyHeCwMQ_CAiA@w@FkAZoBbA{CfAyBp@gANWOScFmE{EaEmHcHoCuCkGoGoEkEoCsCkDgDdHuNhB{DpC}FfEqI|B}E~H_PnMaXXi@r@cA`AmAFGf@_@~CsBtAcA";

    var decodedPath = google.maps.geometry.encoding.decodePath(polyLineStr); 
    var decodedLevels = decodeLevels("BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB");

    var setRegion = new google.maps.Polyline({
        path: decodedPath,
        levels: decodedLevels,
        strokeColor: "#FF0000",
        strokeOpacity: 1.0,
        strokeWeight: 2,
        map: map
    });
}

function decodeLevels(encodedLevelsString) {
    var decodedLevels = [];

    for (var i = 0; i < encodedLevelsString.length; ++i) {
        var level = encodedLevelsString.charCodeAt(i) - 63;
        decodedLevels.push(level);
    }
    return decodedLevels;
}
</script> 
</head> 
<body onload="initialize()"> 
<div id="map"></div>
</body> 
</html>

试验
#地图{宽度:670px;高度:600px;}
函数初始化(){
var mylatng=newgoogle.maps.LatLng(37.557139,-121.975332);
变量myOptions={
缩放:12,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById(“map”),myOptions);
//前两站之间-备用2
var polyLineStr=”gnfdFffngVjBkEtCpBfClBjFpDdAv@xAdAzCvBnE`DxBkFzDiJxDmJvEeLxB_FtAmDdAuBtB}D~E_JtFqKlAyBnBiCpEmFz@aAP[j@aAl@国标\eBLuADmAAsAIsAOoBg@qEqAyHeCwMQ_CAiA@w@FkAZoBbA{CfAyBp@gANWOScFmE{eaemhchocuckgogeocskdgddhunhb{DpC}FfEqI | B}E~H_PnMaXXi@r@cA`AmAFGf@_@~CsBtAcA”;
var decodedPath=google.maps.geometry.encoding.decodePath(polyLineStr);
var decodedLevels=解码级别(“BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB;
var setRegion=new google.maps.Polyline({
路径:decodedPath,
级别:decodedLevels,
strokeColor:#FF0000“,
笔划不透明度:1.0,
冲程重量:2,
地图:地图
});
}
函数解码级别(encodedLevelsString){
var decodedLevels=[];
对于(变量i=0;i

我想我做错了什么-但不确定是什么。如果能提供任何帮助,我们将不胜感激。这表明了我的行为。

这只是测试代码的一个工件。您的
polyLineStr的字符串文字

var polyLineStr = "gnfdFffngVjBkEtCpBfClBjFpDdAv@xAdAzCvBnE`DxBkFzDiJxDmJvEeLxB_FtAmDdAuBtB}D~E_JtFqKlAyBnBiCpEmFz@aAP[j@aAl@gB\eBLuADmAAsAIsAOoBg@qEqAyHeCwMQ_CAiA@w@FkAZoBbA{CfAyBp@gANWOScFmE{EaEmHcHoCuCkGoGoEkEoCsCkDgDdHuNhB{DpC}FfEqI|B}E~H_PnMaXXi@r@cA`AmAFGf@_@~CsBtAcA";

……中间有一个未逃逸<代码> 'E/<代码>。假定您复制和粘贴它的任何地方,它只是实际打印的字符串,并且只通过在它周围加引号将它变成JS文字。但是在JS文字中,<代码> 'E' 意味着“代码> E < /代码>,因此反斜杠丢失,导致整个路径出错。

解决这个特殊问题的办法就是逃避它:

var polyLineStr = "gnfdFffngVjBkEtCpBfClBjFpDdAv@xAdAzCvBnE`DxBkFzDiJxDmJvEeLxB_FtAmDdAuBtB}D~E_JtFqKlAyBnBiCpEmFz@aAP[j@aAl@gB\\eBLuADmAAsAIsAOoBg@qEqAyHeCwMQ_CAiA@w@FkAZoBbA{CfAyBp@gANWOScFmE{EaEmHcHoCuCkGoGoEkEoCsCkDgDdHuNhB{DpC}FfEqI|B}E~H_PnMaXXi@r@cA`AmAFGf@_@~CsBtAcA";
你的小提琴只需改变一个字符,就能得到正确的结果

在您的实际代码中,这个问题甚至可能不会出现,因为您的源代码中没有作为文本的路径(或者做一些愚蠢的事情,比如试图从字符串值中生成和求值字符串文本);您只需要从JSON中获取这些路径,它们就会正确


(有趣的是,如果你在Python中测试过,你就不会注意到这个问题了,因为<代码>‘E’<代码>将解析为<代码> \e>代码>,而不是仅仅是<代码> e <代码>……这将更加神秘,因为它不会出现,除非你运行了一个恰好有测试的测试,例如,中间有一个<代码> \n '/COD>。

您是否尝试过使用人机界面进行等效查询,以查看是否得到相同的结果?如果尝试过,问题在于谷歌的数据,您只能向他们抱怨。如果它做了一些不同的事情,那么您可以尝试追踪不同的内容并加以解决。您在encoded多段线,这会使路径出现错误。此外,结果中似乎有一个比它如何到达目的地更大的问题。目的地离你要求的地方很远。@geocodezip:这不仅有意义;如果我编辑他的小提琴使其具有
\\e
而不是
\e
,它会给出正确的结果。因此你(有趣的是,如果他真的用Python而不是JS写了这篇文章,他就不会看到这个问题,因为在Python中,
'\e'
只是它自己,而不是
'e'
)@geocodezip-就是这样,缺少反斜杠…太晚了,现在应该去睡觉了。再次感谢。