我在地图上遇到了很多多边形的性能问题,经过一些研究后我发现了Google编码算法的PHP实现:
http://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/PolylineEncoder.php.txt
我在我的long / lat coords数据库(一个字符串)上运行了脚本,并为每个带有编码值的多边形创建了一个新列。
然后我编写了一个脚本来输出JavaScript以根据API创建叠加层。
var tr_27019090602 = new GPolyline.fromEncoded({
color: "#0000ff",
weight: 4,
opacity: 0.8,
points: '}w~pGrm~yPU|JCfATKrAy@fAy@|BaBt@i@n@e@rCyBDCl@[TMpAc@NG`BW~@?r@?`CAvHTrHPbA@dDF`@?jA@hCB|DBxDBz@?B}DFiGBcE@w@@wCPqCT_AZu@f@s@X_@Xg@|AgA~DwCzC_Cx@a@RKt@S~@I@?Di@Fq@Gg@HS@q@q@oEa@{@[Um@sAc@o@Yc@_@MQIo@Bm@SOc@@QBWVy@XSFUKc@Ui@E_@AMF[Vg@Rm@Bw@EsA]iBMmAMu@EWDMRIVUT{@Bu@Km@ESc@iASQq@MqA_Bi@iAYo@IWe@sAk@D@DECgBN_CaCm@eC[oAFgOK}IlBkB_@BWNa@d@EJCHG@A@Yc@Ii@AiBC_ADu@Ng@TYRONWHc@HYi@RQFU?k@HSVq@Rw@?EaG?wC?u@?i@?{CAcJA[?yA?u@?_C?aEAkA?cC?I?E?q@?oA?s@?C?cEAs@?yC?wB?qAAU?u@?aB?G?@rA@pB?BBrF?P?D?x@VhAFZZvA@h@?n@?t@@dC?hF?@NhrA?F@NPrF?vL?hJ??lA?dK?jCEvA?DG`C',
zoomFactor: 2,
numLevels: 18
});
我收到“未终止的字符串文字”错误,可能是因为编码字符串中的字符。我试图逃避它们但无济于事。我也试过双花括号。
如何才能将JavaScript中的这些内容正确传递给API?