簡體   English   中英

渲染從Google Map Directions API獲取的PHP中的編碼折線

[英]Renders an encoded polyline in PHP obtained from the Google Map Directions API

我實際上是在嘗試渲染從Google Map Directions API獲取的編碼折線。

例如,當我請求Directions API生成從巴黎(法國)到里爾(法國)的路線時,我會得到概述多段線,這是描述該路線的編碼多段線。

編碼的折線值為:

<?php

$encodedPolyline = '_meiHkmjMuF|X{LqFqm@}XaUqK_PuHyE`AsFxEaHhGwAA{@eFkAwHeFsBiIoDkMiDqIOu\wAoa@|BkZQoQzB}tBnHqWdA_IyD_GuX}DcVeMmu@sD}_@wAst@i@ag@_Fcn@iCoQcQwlAuS}vAmJs`@miBgeEyeAijB{Ymg@qe@my@yVq`@uj@eo@gEqEm[m^_a@s]yEoCoNaGse@mRcXwK}aAw`@_~@iXuYgKoZyNmM}Cam@qMe_@yLuP}Aq{@zB{l@zBy_BrF_Le@k_AuKw`@iOs^iI{g@}Fs[qPmZo^qwCc~D}KcIiPmFgi@sDeTmKiPuKgTsFwOAcOrC{PtEqOj@gTkE{XqP_`@wWsUiVcZoi@kIo^iQw_@um@odB}QaZkVaW{o@yt@_v@_rAs\}Z{qB}hAeSmGsOo@mHj@kXrHk]rL_\jFsa@hG}JdDyOfLsIbGgVfFk]cE}^iH_l@yQayCodA_iAuPaoAmAuo@~GkvAv^if@rMs[hFoj@m@asDgN}e@{Hqa@iOupA{p@{[}K_a@sFqkBsUc`CkZqgAeNon@oPaiBkg@owB{w@oeAs`@s`AkZ}h@}Nwk@uJ_cBwAep@gBeu@iMedAqVigB_k@qi@qO_YkBo\Vw|BnBiVU_TwCuaAi^qx@i\c|@iXebCoq@o`Bq\ykAeVk\gJub@sX{a@c`@oVyOe]qN}pAyg@_l@cS}h@}HqgAqKwhBcQcn@}Fs_AkLab@wRua@qYue@eRu_@yD{f@{BuvAgGsp@d@}l@_Cgc@oDsn@eHiSoHug@i[eh@qV}u@i\u|@g]q[yDup@_Eyg@}Psa@mRcYsIae@{BqOjAq_@nKur@d^sl@fMkyBzTee@lEm`@l@ek@{D_k@aBmrAKaeBMobBoC{pCcIif@yAqp@K}TzAui@`L_o@zRm}@bYwaBph@oj@vMaa@lDuk@}Awf@iKoo@cY{gC_uAybB_~@gw@mb@sXcReOoOkYa]mXc\{vAwaB_c@mh@mmAecC{Py[s^mg@k`@u^mQmMm_Acr@{TqOwU}JuNaDce@wDmrAmI_r@oEw^^mY`GcPzGoIdFgl@hd@e\|PuObEuW`CgR_@uYeGwkBgf@qi@qOk^{SoUsVep@gnAwXal@uU}p@o^ecAcNcVs\g_@_hAcs@ghB_hA{hAqt@_~As{AyfAseA_aA_~@qI}HuJuDaOUmTzI{]|j@qXze@aNfUkJlSrA|`@KpXy@dv@eDIFfCi@zEU`JcAtb@iAfUaEwAqJoHuIcIsOyJkNqKaBPoCzC';

如果我嘗試使用Interactive Polyline Encoder Utility進行渲染,則折線已正確渲染。 因此,正確請求了Google Map Directions API。

要渲染編碼的折線,我使用以下代碼:

<?php

$polyline = sprintf('var polyline = Polyline({"map":map,"path":google.maps.geometry.encoding.decodePath("%s")});', $encodedPolyline);

在Chrome上,我得到了一條折線,但這絕對不是我想要的。 在Firefox中,我收到一個JS錯誤,該錯誤是malformed Unicode character escape sequence錯誤的malformed Unicode character escape sequence

可以肯定的是,問題出在渲染上,但是我不知道怎么了...

我已經在這個愚蠢的問題上度過了余生,我決定提出一個問題,並在5分鍾后找到解決方案。 開個玩笑!

因此,如果要使用編碼的折線值,則需要轉義所有需要轉義的字符(“)(')(\\)(NULL)。

為此,您只需使用: addSlashes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM