image

Blog

Příspěvek

Blog > Návody > Live tracking [1]: Ukládání trasy na web

Live tracking [1]: Ukládání trasy na web

navod.png

V nedávné vývojové verzi se objevila možnost online záznamu trasy pomocí webové služby. Je tak možné si pozici třeba jen zaznamenávat pro případné pozdější využití, nebo sledovat online pohyb na mapě, případně použít jinou nebo napsat vlastní aplikaci pro použití záznamů.




Chci to využívat hned

Jedna z nejlehčích cest k nastavení vlastního online sledování bez instalace vlastního serveru a vývoje vlastní aplikace je použít Google Dokumenty.

Nastavení Google Dokumentů

Stačí si vytvořit tabulku a nazvat jí třeba „Umístění“ a použít klíč z Google Doc URL prohlížeče s tvarem key=0Ana…… Z tabulky spustit Menu -> Nástroje -> Správce skriptů… -> Nový a přidat jednoduchý skript.

function doGet(e) {
    var app = UiApp.createApplication();
    var sp = SpreadsheetApp.openById("0Ana.......");
    // insert new row
    sp.insertRowBefore(1);
    if(e) {
        sp.getRange("A1").setValue(e.parameter.lat);
        sp.getRange("B1").setValue(e.parameter.lon);
    }
    return app;
}

Klíč z URL vložte mezi uvozovky na třetím řádku. Skript pracuje tak, že vloží souřadnice, odeslané vaším zařízením, přímo do tabulky. V editoru skriptů spusťte Menu -> Sdílet -> Publikovat jako službu… Povolte přístup každému (Allow anyone to invoke this service) včetně anonymního přístupu (Allow anonymous access). Zkopírujte si string z editačního okna URL služby: https://docs.google.com/macros/exec?service=AKfyc…., povolte službu a skript uložte.

Teď to šupnout do mobilu

Ke stringu si přidejte dva nebo více parametrů a vložte ho do Nastavení -> Záznam trasy -> Live Tracking web address takto:

https://docs.google.com/macros/exec?service=AKfyc….&lat={0}&lon={1}&timestamp={2}&hdop={3}&altitude={4}&speed={5}

Detailní postup můžete vidět na obrázcích.

1 2

Mimochodem, můžete také použít smarturl.it ke zkrácení URL. Nezapomeňte na závěr odesílání dat zapnout volbou Enable Live Tracking, jak je to vidět na druhém obrázku.

3 4

Nyní je vše nastaveno a po zapnutí se již budou odesílat data do naší tabulky.

Chci vidět mapu

Poté je možné se vrátit k tabulce a přidat nový Widget Menu -> Vložit -> Gadget -> Mapy -> Mapa -> Přidat do tabulky, vyberte dva sloupce, zeměpisnou šířku a délku, a sledujte, jak se body promítnou na mapě, podobně jako je to vidět na druhém příkladovém obrázku.

5 6

Závěr

Jedná se o výtečnou vlastnost OsmAndu, i když se mi při testu přenášela zeměpisná šířka a délka s ne příliš detailním rozlišením, ale snad se mouchy časem vychytají.

Doplněno 4.2.2012

nyní již funguje rozlišení naplno, bohužel vznikl problém s desetinnou tečkou která je nestravitelná pro mapu a má to být čárka, zřejmě problém s lokalizací.

Doplněno 6.2.2012

Nedalo mi to a jal jsem se hledati, jak zobrazení přinutit … přiohnout… a jde to. Stačí nastavit dokument jako anglický… pak už vše funguje jak má. Někdy je také potřeba minulá data smazat.

7 8

Pro vypisování dalších sloupců je třeba upravit počáteční skript, přičemž hdop ve sloupci D je horizontální přesnost, čili čím menší číslo tím větší přesnost pozice. Sloupec E je nadmořská výška a F je pak rychlost pohybu:

function doGet(e) {
    var app = UiApp.createApplication();
    var sp = SpreadsheetApp.openById("0Ana.........");
    // insert new row
    sp.insertRowBefore(1);
    if(e) {
        sp.getRange("A1").setValue(e.parameter.lat);
        sp.getRange("B1").setValue(e.parameter.lon);
        sp.getRange("C1").setValue(e.parameter.altitude);
        sp.getRange("D1").setValue(e.parameter.speed);
        sp.getRange("E1").setValue(e.parameter.hdop);
        sp.getRange("F1").setValue(e.parameter.timestamp);
    }
    return app;
}

Pokud například použijete hodnoty ze skriptu výše, je možné použít výšku (třetí sloupec) jako popisku bodu. Všimněte si na mapě kurzoru s popisem výšky. Po kliknutí na bod se objeví bublina i s popiskem.

9

Posted in Návody on úno 06, 2012.

Štítky: online , trasy , live tracking