2012-06-12 88 views
7

我一直想在我的應用程序中顯示谷歌地圖的交通層,從我的研究就應該設置定製路況圖層谷歌地圖

 mapView.setTraffic(true); 

我MapActivity後顯示出來,但是,我沒有能夠讓它出現。

經過一番研究,我發現Google Maps API不支持我的區域(巴西聖保羅)的流量層,至少不是通過使用他們的API,因爲它有可能檢查我的區域的流量層if我使用Google地圖本身。

我的主要問題是:是否可以使用我自己的數據庫爲Google Maps顯示的地圖上的交通狀況創建某種自定義流量圖層?我怎麼能根據他們的交通狀況來繪製街道?我認爲疊加對於這項工作不足夠。

有什麼想法?

編輯1:仍在研究這個,也許唯一的辦法是試圖最小化地圖,使用自定義覆蓋並提供標籤來解釋每個覆蓋?

+0

我一直在尋找這個:( – dccarmo

回答

2

我希望我可以做一個評論而不是答案,但我仍然沒有這種力量。

我猜測Google與提供聖保羅市交通數據的公司之間的許可協議不允許第三方(即使用Maps API的開發商)使用。這是唯一合理的解釋,因爲有流量數據Google Maps for São Paulo,但不是在自己的谷歌的example for traffic layer on Maps V3 API

所以我認爲唯一的選擇是你提到的。如果您擁有自己的擁有流量數據的數據庫,則可以創建自己的Overlay子類,覆蓋draw方法在街道上繪畫。您將不得不使用MapView.getProjection()來獲取Projection對象,以便您可以將座標映射到MapView上的像素以繪製流量指示器。

我希望我有某種幫助。

+0

真棒!從我研究過的你可能是對的,我們知道在地圖應用程序區域有一家知名公司可以提供交通信息穀歌,所以他們之間必須有一個獨家協議:/不知道這個getProjection()是如何工作的,會試試這個!謝謝!PS:我會標記你的答案是正確的,因爲我相信它是最接近的這個問題@ _ @ – thiagocfb

+0

這個答案看起來很合理,我看到一些位置上有Google Maps上的流量數據**和** v3 API上的流量圖層,我注意到了波哥大,利馬和巴拿馬附近的情況運河,在南美沒有其他地方,也許谷歌與這些地區的交通數據提供商簽有許可協議,至今爲止? –