č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