od Zdenek C v 22 zář 2008 06:45
Tak jsem bojoval s problémem nuly a o kousek jsem se posunul. Ta promenna txtRI_Method se skutečně dá zobrazit jen jednou, potom už se objevuje vždy nula. Nepodařilo se mi přijít na to, jak její obsah zapsat do nějaké jiné proměnné, tak jsem použil jiné, na pohled (a možné nejen na pohled) trochu krkolomné řešení - požadovaný údaj jsem nacpal do nové proměnné. Protože mi také vadilo, že se informace o metodě výpočtu zobrazila i v případě, že jsem žádnou trasu neměl, tak jsem trochu upravil příkaz pro zobrazení v navigační obrazovce přidáním podmínky pro zobrazení. Stále ale zůstává problém, že navigační obrazovka nevolá refresh informace o metodě a tak je potřeba napoprvé vlézt do obrazovky Informace o trase. Změnu metody výpočtu je také potřeba dělat v této obrazovce, ne přes menu nastavení. Nelze také používat přímý návrat na navigační obrazovku (prstem po spodním okraji dipleje). Autoři původního programu totiž nepočítali s potřebou znát údaj o metodě při použití navigační obrazovky a tak je zde problém volání příslušné rutinky v route.ui.
A teď úprava. Dělal jsem ji ve skinu iGo8_PlusPlus-ALL_080829_tS+.
Zobrazeni metody vypoctu na NavigateMap
Úprava Route.ui (je v Common) (červené části)
v následující sekci doplnit proměnnou txtRI_Metoda a uvedený blok příkazů (ten stačí okopírovat a změnit jméno proměnné).
<script sc_RefreshRouteInfo>
ui_Route.GET_ROUTEINFO txtRI_Distance txtRI_Stops txtRI_TimeLeft txtRI_Arrive txtRI_DestAddress txtRI_Metoda
…..
…..
POZOR, bude zde podobna sekce s promennou txtRI_Method, ta MUSÍ ZUSTAT!!!!!!!
…..
runif nVehicle 5 'txtRI_Metoda.text "Pedestrian"'
else_runif nVehicle 4 'txtRI_Metoda.text "Emergency"'
else_runif nVehicle 6 'txtRI_Metoda.text "Bicycle"'
else_runif vTmp L"ECO" 'txtRI_Metoda.text "Economic"'
else_runif vTmp L"SHORT" 'txtRI_Metoda.text "Shortest"'
else_runif vTmp L"FAST" 'txtRI_Metoda.text "Fastest"'
else_runif vTmp L"SIMPLE" 'txtRI_Metoda.text "Easy"'
else_runif vTmp L"SCENIC" 'txtRI_Metoda.text "Scenic/Panoramic_View"'
else_run 'txtRI_Metoda.text "n/a"'
a v navigatemap_480_272.ui v následující části doplnit příkaz (je to trochu upravený příkaz, který navrhnul Dan). A pozor, proměnná je txtRI_Metoda, ne Method !!!
<layer ui_NavigateMapGPSPosInfos z=51>
…..
…..
…..
; metoda vypoctu
<TEXT txtRI_Metoda x=380 y=2 w=98 font="tahomabd" fontsize=12 color=#FFFFFF glowsize=2 color2=#000000 align="RIGHT" visiblemodel="navigation.has_route&!ui.vRouteCalculation">
To je celé.
Když už jsem se v této části přehraboval, tak jsem zjistil, že není problém ve slovníku upravit překlad viapont z "Průjezdn" na "Průjezdní bod". Tato informace se zobrazuje v Informaci o trase a vypadá to líp, než "Průjezdn". Pokud by delší text Průjezdní bod vadil někde jinde, což nevylučuji, tak lze do slovníku použít "Průjezd", který je ještě o znak kratší. Úpravu se dělá v Content\lang\Lang_Czech_080820_Pda.zip\i18n\Dictionary.lang
Taky mi vadilo, že se vypne automatický prepočet při sjetí z trasy v připade, že po načtení trasy zvolim Spustit navigaci z uloženeho místa a ne z polohy GPS. Připadá mi nelogické, aby mi program bez upozornění vypnul automatický přepočet. Vypnutí snad můžu potřebovat v nějakém výjimečném případě a to si ho v nastavení nebo přes rychlý přístup vypnu ručně. Pokud tedy někdo chcete přepočet zachovat, tak změňte 0 na 1 v
Route.ui v Common
<script sc_TurnOnPlanRouteMode>
vAutoReplan.SET 1 ; puvodne 0 - vypnuti automat. prepoctu po nacteni mapy a startu z jineho mista, nez z GPS pozice
run sc_LoadRoute
</script>
A na závěr jsem ještě udělal malou úpravu lineárního kompasu, protože při orientaci mapy na sever byl mírně vychýlený na východ. Soubor je v příloze a po odzipování patří do ui_igo8\480_272. Buď do skinu nebo do adresáře. Mimochodem, s tím adresářem ui_igo8 to asi má taky občas háček. Mně nefunguje, přesněji, jediné co funguje je možnost změny pozadí z tohoto adresáře. Igo mám ve vnitřní paměti a složku Content na SD. A v tom je asi problém.
Nemáte oprávnění prohlížet přiložené soubory.