2012-03-18 32 views
1

我爲Android使用mapquest java庫。 Actualy我有簡單的android應用程序與地圖,我可以確定兩個位置之間的路線。我需要做的是獲得這條路線的地理位置。下面的代碼來自mapquest的樣本。在mapquest上使用mapquest獲取路線積分

routeManager.setRouteCallback(new RouteManager.RouteCallback() { 

    public void onSuccess(RouteResponse routeResponse) { 
    clearButton.setVisibility(View.VISIBLE); 
    if (showItineraryButton.getVisibility() == View.GONE && 
     showMapButton.getVisibility() == View.GONE) { 
     showItineraryButton.setVisibility(View.VISIBLE); 
    } 
    createRouteButton.setEnabled(true); 
    } 
}); 

routeResponse對象具有jsonObject類型的serviceResponse字段。這個jsonObject的元素之一是稱爲「shapePoints」的字段。 RouteResponse的文檔說明了RouteResponse字段應該包含一組地理點對。我沒有得到這個數組,而是某種散列字符串:/:

"shapePoints":"gvxpjAfxthgEkF?cQ][email protected]@?u|[email protected]@OcLOoHiBcGwD_IoHiCkAoCOmFN_DjAyBhBaBhC}[email protected]}[email protected]@{`@[email protected][[email protected]@[email protected]\\[email protected]\\}[email protected][email protected][email protected][email protected]}[email protected]@[email protected]@{[eOc[kLiMeE{[email protected]@[email protected]{AyLyB}[email protected]{[email protected]^[email protected]{[email protected]{[[email protected]@sFyL}@eJ{@eJkAgJkA{J{[email protected]{KyQ}JmUkKwX{[email protected]_B}[email protected]@[email protected]`Ae[[email protected]^{L}JwCsZ}JyRaGwXsGe^[email protected]{`@{nAmT}[email protected]`[email protected]{[email protected]}@mE{@kPiCmUuE}[email protected]@[email protected]{OgDcQwC{QiCqQiBe`@wCsZ{[email protected]}@}[email protected]@N_]O{`@][email protected]{[email protected]]yH?sKL_NzAmPxC{JhB}OhBmP|@[email protected]{O\\[email protected]}^[email protected]@[email protected]?uhA]iW{@qRiCiWcGcVoH}EkBeTaHeJyBaNkA{[email protected]{@[email protected]|Ic[[email protected]~^yLlIi\\[email protected]@{TfOiR|J{Q`GiMvDsPfCoIlA}JjA??_I]kK\\[email protected]`@lUcQzJkP`I{[email protected][email protected]`@[email protected]@|[email protected]@p[[email protected][}^[email protected]@cQdZuT`][email protected]@[email protected]@kFrF}OpQmUvYmOzT}[email protected]~|@cQlUw][email protected]}T|T_XxViRvNkFdE{GdE{J`IaIrF_IrEoN`[email protected][email protected]~SwNfDo{Az`@[email protected][[email protected]]hBiRzAaX?_X{@oXgDmKkAsKyBeTuF}OeEcVoI??cVoSoIsFcGeE_SyLuUoIkPsFcL{[email protected]}OqH{O{KoNwNgJ_IsFeEiMcGkKkA_N]??cLeEqCwD{@[email protected]@[email protected]@[email protected][|@[email protected]}}@[email protected][email protected][email protected][email protected]@?}[email protected][email protected]}@}JeE{[email protected]?gD?iBNyB|@[email protected][email protected][email protected]{@kLcBcGVkK?kK?{`@??kB?" 

請幫我好笑shapePoints字符串,來獲取路線geopoints。也許有不同的方式來獲得這些觀點。我試圖谷歌它幾天,但沒有任何更大的結果;/

回答

2

你看到的shapePoints字符串實際上是一種壓縮格式,所以它顯示shapePoints,但不是在一個常規的,可讀的原始格式。 Android Maps API使用MapQuest Directions Web Service作爲路由功能。 Android API中的默認routeResponse格式爲cmp6,這是您看到的壓縮格式,因爲在應用程序中使用壓縮格式通常更高效。

您可以通過設置shapeFormat參數(它包含在Advanced Routing Options部分下的Directions Web Service文檔中)來告訴Directions Web Service以原始格式發回響應。查看Android Maps API Reference Guide以獲取有關在Android Maps API中設置路線選項的更多特定信息 - 請在此頁面上查找setOptions方法。

而且,只是想補充一點,有關於MapQuest Developer Network一個Android Maps API forum,它也是一個很好的資源,以檢查你有關於Android或其他的MapQuest的API,如Flash,iOS的問題等

請不要猶豫,問你是否需要更多的援助!

+0

謝謝:),我在閱讀文檔時一定錯過了這個設置。 – suleks 2012-03-25 21:32:38

相關問題