Google 静态地图中显示编码路径的问题

Problem with displaying encoded paths in Google Maps Static

我已经对多边形的路径进行了编码。

当我在 https://developers.google.com/maps/documentation/utilities/polylineutility 中检查它时,它完美运行: Polygon in Google Devlopper Test

encoded path: wptdHtgeI@a@HaEHmCTkDDUVsAF{G@wD@o@~~~~~~Bq@@{CAuC?{D?_B?e@EsCe@aCoA{Ea@}AOm@vAgA|BcBr@i@nCs@hBe@~@UlFmAZI|Cs@nBc@FAf@K`@IAvDFF~~~~~~Bp@@|D~~~~~~BlC@tG~~~~~~BX@hG~~~~~~B`A~~~~~~BzC~~~~~~BfB~~~~~~Bx@~~~~~~B|D~~~~~~B^~~~~~~BtA@`D~~~~~~B`@~~~~~~B~~~~~~BG?B\?bE~~~~~~BrD@jJ@xDEvA~~~~~~Bt@?rA@|F?|E~~~~~~BRIBq@JC@k@Hm@H?~~~~~~BA~~~~~~B@Pq@\{Av@sBbA{ADk@Xi@Hi@G[GUIUGUIMC_EwBWCYEUC~~~~~~B?HiC|@LF@F}@BWNaDNsDc@YuABU@sADH_D~~~~~~BAYFB{@??

但是当我用静态地图尝试相同的代码时,我不起作用。

我在 PHP 中使用 urlencode 更改了路径:

https://maps.googleapis.com/maps/api/staticmap?key=YOUR_API_KEY&center=48.109115,-1.670599&zoom=13&size=600x600&maptype=roadmap&path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:wptdHtgeI%40a%40HaEHmCTkDDUVsAF%7BG%40wD%40o%40%7E%7E%7E%7E%7E%7EBq%40%40%7BCAuC%3F%7BD%3F_B%3Fe%40EsCe%40aCoA%7BEa%40%7DAOm%40vAgA%7CBcBr%40i%40nCs%40hBe%40%7E%40UlFmAZI%7CCs%40nBc%40FAf%40K%60%40IAvDFF%7E%7E%7E%7E%7E%7EBp%40%40%7CD%7E%7E%7E%7E%7E%7EBlC%40tG%7E%7E%7E%7E%7E%7EBX%40hG%7E%7E%7E%7E%7E%7EB%60A%7E%7E%7E%7E%7E%7EBzC%7E%7E%7E%7E%7E%7EBfB%7E%7E%7E%7E%7E%7EBx%40%7E%7E%7E%7E%7E%7EB%7CD%7E%7E%7E%7E%7E%7EB%5E%7E%7E%7E%7E%7E%7EBtA%40%60D%7E%7E%7E%7E%7E%7EB%60%40%7E%7E%7E%7E%7E%7EB%7E%7E%7E%7E%7E%7EBG%3FB%5C%5C%3FbE%7E%7E%7E%7E%7E%7EBrD%40jJ%40xDEvA%7E%7E%7E%7E%7E%7EBt%40%3FrA%40%7CF%3F%7CE%7E%7E%7E%7E%7E%7EBRIBq%40JC%40k%40Hm%40H%3F%7E%7E%7E%7E%7E%7EBA%7E%7E%7E%7E%7E%7EB%40Pq%40%5C%5C%7BAv%40sBbA%7BADk%40Xi%40Hi%40G%5BGUIUGUIMC_EwBWCYEUC%7E%7E%7E%7E%7E%7EB%3FHiC%7C%40LF%40F%7D%40BWNaDNsDc%40YuABU%40sADH_D%7E%7E%7E%7E%7E%7EBAYFB%7B%40%3F%3F

拜托:我需要一个 PHP 而不是 js 的解决方案,并且仅适用于静态地图...

您的编码路径似乎有问题。在您的静态地图 API 请求中使用 Interactive Polyline Encoder Utility 中的 编码多段线

鉴于您的编码路径,

wptdHtgeI@a@HaEHmCTkDDUVsAF{G@wD@o@~~~~~~Bq@@{CAuC?{D?_B?e@EsCe@aCoA{Ea@}AOm@vAgA|BcBr@i@nCs@hBe@~@UlFmAZI|Cs@nBc@FAf@K`@IAvDFF~~~~~~Bp@@|D~~~~~~BlC@tG~~~~~~BX@hG~~~~~~B`A~~~~~~BzC~~~~~~BfB~~~~~~Bx@~~~~~~B|D~~~~~~B^~~~~~~BtA@`D~~~~~~B`@~~~~~~B~~~~~~BG?B\?bE~~~~~~BrD@jJ@xDEvA~~~~~~Bt@?rA@|F?|E~~~~~~BRIBq@JC@k@Hm@H?~~~~~~BA~~~~~~B@Pq@\{Av@sBbA{ADk@Xi@Hi@G[GUIUGUIMC_EwBWCYEUC~~~~~~B?HiC|@LF@F}@BWNaDNsDc@YuABU@sADH_D~~~~~~BAYFB{@??

您将获得来自 Interactive Polyline Encoder Utility 的以下编码折线,您可以在静态地图 API 请求中使用它:

wptdHtgeI@a@HaEHmCTkDDUVsAF{G@wD@o@?q@@{CAuC?{D?_B?e@EsCe@aCoA{Ea@}AOm@vAgA|BcBr@i@nCs@hBe@~@UlFmAZI|Cs@nBc@FAf@K`@IAvDFF?p@@|D?lC@tG?X@hG?`A?zC?fB?x@?|D?^?tA@`D?`@??G?B\?bE?rD@jJ@xDEvA?t@?rA@|F?|E?RIBq@JC@k@Hm@H??A?@Pq@\{Av@sBbA{ADk@Xi@Hi@G[GUIUGUIMC_EwBWCYEUC??HiC|@LF@F}@BWNaDNsDc@YuABU@sADH_D?AYFB{@??

您可以试试这个有效的 API 请求:

https://maps.googleapis.com/maps/api/staticmap?key=YOUR_API_KEY&center=48.109115,-1.670599&zoom=13&size=600x600&maptype=roadmap&path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:wptdHtgeI@a@HaEHmCTkDDUVsAF{G@wD@o@?q@@{CAuC?{D?_B?e@EsCe@aCoA{Ea@}AOm@vAgA|BcBr@i@nCs@hBe@~@UlFmAZI|Cs@nBc@FAf@K`@IAvDFF?p@@|D?lC@tG?X@hG?`A?zC?fB?x@?|D?^?tA@`D?`@??G?B\?bE?rD@jJ@xDEvA?t@?rA@|F?|E?RIBq@JC@k@Hm@H??A?@Pq@\{Av@sBbA{ADk@Xi@Hi@G[GUIUGUIMC_EwBWCYEUC??HiC|@LF@F}@BWNaDNsDc@YuABU@sADH_D?AYFB{@??

注意:请在示例请求中提供您自己的 API 密钥。

希望对您有所帮助!