2013-01-12 49 views
0

我試圖從谷歌地圖靜態圖像API得到一個遠足徑的靜態圖像,我看到一些奇怪的行爲。有時,它工作得很好,然後其他時候,它或者根本不顯示路徑,或者以奇怪的方式渲染它。奇怪的行爲與谷歌地圖中的路徑靜態圖像api

這裏不顯示-了,我所希望的方式路徑的一個例子:jagged path

當我從這些相同的座標建立一個KML,一切都顯示,高達只是我所期望的方式。但是當它發送到靜態圖像API時,某些事情會變得混亂起來。

我已經玩過調整地圖中心和變焦沒有明顯效果。爲了適應URL字符限制,我必須減少路徑中的座標數量。我已經嘗試調整路徑中的點數,但我仍然得到一個奇怪的鋸齒狀路徑,而不是從我的KML文件中看到的路徑。

我也試圖從上面的URL中刪除座標,直到找到罪魁禍首,但後來我遇到了不同的問題。試試這張圖片:no points at all。你會注意到這個圖像中根本沒有顯示路徑。

有時,調用工作得很好(我沒有得到我想要的粒度,因爲我必須在URL長度限制內修剪座標 - 但我可以忍受這一點)。你可以在這裏看到一個例子:working example

這是怎麼回事?我是否犯了一個我看不見的簡單錯誤,或者這是谷歌的一個結局?謝謝!

回答

0

我想通了。我沒有正確地轉義URL。我通過API網站瀏覽太快(發現here),當我回去並再次瀏覽指南時,我注意到了一些我第一次錯過的東西。我使用的是python的url轉義函數,它不會逃離那些需要轉義和轉義的東西,而這些東西不需要轉義。

這裏的工作路徑的一個例子:

http://maps.googleapis.com/maps/api/staticmap?format=jpg-baseline&maptype=terrain&size=320x320&sensor=true&path=color:0xff0000ff%7Cweight:2%7C34.680923,-83.998035%7C34.682763,-83.996703%7C34.684612,-83.995759%7C34.685855,-83.994969%7C34.687478,-83.993794%7C34.689339,-83.99301%7C34.691484,-83.992649%7C34.693114,-83.991636%7C34.695631,-83.991983%7C34.697488,-83.990639%7C34.698856,-83.988732%7C34.700114,-83.986356%7C34.701881,-83.985913%7C34.703546,-83.98486%7C34.705588,-83.984205%7C34.707439,-83.985204%7C34.709409,-83.98474%7C34.710815,-83.982891%7C34.713098,-83.982932%7C34.715471,-83.981058%7C34.715643,-83.97896%7C34.716061,-83.976655%7C34.718408,-83.975622%7C34.718576,-83.972885%7C34.720504,-83.972258%7C34.722156,-83.970446%7C34.723245,-83.970965%7C34.724158,-83.968403%7C34.725936,-83.96585%7C34.727591,-83.963934%7C34.729219,-83.962787%7C34.730165,-83.960224%7C34.730464,-83.957465%7C34.731384,-83.954936%7C34.733571,-83.952937%7C34.735248,-83.951872%7C34.736235,-83.94911%7C34.738577,-83.94717%7C34.740465,-83.946156%7C34.741132,-83.943978%7C34.743225,-83.944512%7C34.745393,-83.943994%7C34.742783,-83.942916%7C34.742451,-83.941822%7C34.741552,-83.940703%7C34.740811,-83.939462%7C34.74023,-83.937804%7C34.738605,-83.936371%7C34.736056,-83.935923%7C34.734862,-83.935931%7C34.736535,-83.934433%7C34.737494,-83.932963%7C34.738196,-83.931812%7C34.737864,-83.9307%7C34.735883,-83.930629%7C34.735412,-83.928034%7C34.736785,-83.925242%7C34.737286,-83.922985%7C34.735846,-83.918937