You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Maps API encodePoly编码折线后显示异常的解决方法

Fix for Google Maps Encoded Polyline Display Issue After Database Storage

我之前也踩过一模一样的坑!用Google Maps API的encodePoly方法编码折线后存入数据库,再下载解码时折线显示完全异常。折腾了好一阵才摸清楚问题根源,分享下解决办法:

核心问题&正确处理时机

数据库存储时会自动转义单个反斜杠\,导致取出后的编码字符串丢失了关键的转义信息,解码自然出错。这里的关键是转义操作必须在POST提交到数据库之前做,等下载解码后再处理完全没用。

解决步骤

在encodePoly编码完成后、发起POST请求前,把编码字符串中的单个反斜杠\全局替换为两个反斜杠\\:

调整后的代码片段

function transferRteData(runPath, map) {
  // 用Google Maps API编码折线
  var encodedPath = google.maps.geometry.encoding.encodePath(runPath);
  
  // 关键操作:POST到数据库前转义反斜杠
  encodedPath = encodedPath.replace(/\\/g, '\\\\');
  
  // 后续执行POST请求,将处理后的encodedPath存入数据库
  // ...(你的POST请求逻辑)
}

这样处理后,从数据库取出编码字符串直接解码,折线就能正常显示了!

内容的提问来源于stack exchange,提问作者personnameds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:59:36