čtvrtek 27. prosince 2012

Ikonka k vlastnímu POI

Pokud si nahrajete vlastní POI do složky content\userdata\poi, tak nemají vlastní ikonku, pouze standardní systémovou ikonku. I to se dá změnit. Jsou dvě cesty jak toho docílit (minimálně).

Pro Primo 1.0 a 1.1 je platná pouze první:
  • do složky content\userdata\poi nahrajeme KML soubor s vlastními body zájmu
  • připravený BMP obrázek otevřeme v editoru obrázků, ujistíme se, že je čtvercový a zjistíme, jaké má rozměry (v pixelech)
  • ke každé ikonce musí vytvořit *.spr soubor se strukturou (např. otevřeme Poznámkový blok)
BmpFlags = 0
DefFlags = ALPHA_PIXEL | ALPHA_LAYER | GRAB_BOTTOM | GRAB_HCENTER
DefPhase = 1
Stripes = 22


  • řádek Stripes znamená velikost ikonky - v tomto případě 22x22 pixelů
  • dále musíme vytvořit další soubor *.icon; ten má následující strukturu:
$ikonka1.bmp
$ikonka1.spr 0
$ikonka1.spr 0
$ikonka1.spr 0
  • Všechny soubory s ikonkou musí mít stejný název, takže např. ikonka1.bmp, ikonka1.spr a ikonka1.icon. Tomu musí odpovídat i zápisy v ikonka1.icon.
  • Ikonky nahráváme do složky [flash]:\MobileNavigator\ui_igo9\common (soubory *.bmp a *.spr) a [flash]:\MobileNavigator\ui_igo9\icons\poi (soubory *.icon). Dále vytvoříme ještě složku [flash]:\MobileNavigator\ui_igo9\icons\sys, kterou necháme prázdnou.
  • Do souboru save\poi_visibilities.txt doplníme na další řádek zápis CZ-Nazev Souboru (KML)|ikonka1|500
    • CZ-Nazev Soubor (KML) = název KML souboru "CZ-Nazev_soubor.kml"; podtržítko u Prima značí, že další písmeno je velké, proto se místo něj píše mezera a následuje velké písmo
    • ikonka1 = název ikonky
    • 500 = vzdálenost, na kterou se zobrazí ikonka 
vlastní ikonky u POI původem z KML souborů
Pro Primo 1.2 a vyšší lze použít i tento a mnohem jednodušší způsob:
  • KML soubor otevřeme v poznámkové bloku a podle vzoru editujeme jeho hlavičku (co v ní chybí, doplníme):
 <?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"><Document>
<name>Jméno k zobrazení</name><metadata><igoicon><filename>nazevikonky.bmp</filename></igoicon></metadata>
  • do složky content\userdata\poi nahrajeme KML soubor s vlastními body zájmu
  • ikonku ve formátu BMP nahrajeme do složky content\userdata\usericon

2 komentáře:

  1. Tento komentář byl odstraněn autorem.

    OdpovědětVymazat
  2. co se kml poi a ikonek tak jsem v poslední době vypěstoval slušné know how :) psaním exportu keší pro geocaching do prima.

    ikony bud v klasickém bmp, ale tam nefungují průhlednosti. cili namalovat v PNG a prevest do bmp pres "iPAQ 31x Image Explorer". vzniknou bmp co se nedaji nicim otevrit, ale primo je ma rado.

    dale jsem prisel na to, ze ac by KML melo podporovat HTML v tagu description (pokud je zabalene v CDATA), tak v primu se mi to podarit nerozjelo

    a taky by se hodilo nekde pogooglit zda maji KML nejake omezeni (velikost souboru, pocet bodu, delka nazvu bodu, delka popisku bodu, ..)

    ukazkove KML vypada takto:

    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
    <name>NAZEV_HLAVNI_KATEGORIE</name>
    <metadata><igoicon><filename>IKONA_HLAVNI_KATEGORIE.BMP</filename></igoicon></metadata>
    <Folder>
    <name>NAZEV_KATEGORIE_BODU</name>
    <metadata><igoicon><filename>IKONA_KATEGORIE_BODU.BMP</filename></igoicon></metadata>
    <Placemark>
    <name><![CDATA[NAZEV_BODU_ZAJMU]]></name>
    <description><![CDATA[POPIS_BODU_ZAJMU
    DALSI_RADEK]]></description>
    <phoneNumber>TELEFONNI_CISLO</phoneNumber>
    <Point><coordinates>LONGITUDE,LATITUDE ,NADM.VYSKA(VOLITELNE)]/coordinates></Point>
    </Placemark>
    </Folder>
    </Document>
    </kml>

    takhle mi to spolehlive funguje, zadne dalsi funkcni polozky jsem neobjevil

    OdpovědětVymazat