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

Doba čtení 3 minuty

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

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

Předchozí Další