Jak dodać własną mapę do OSMAnd
Na początku trzeba zaopatrzyć się w narzędzie OSMAnd Map Creator (w wersji z https://github.com/osmandapp/OsmAnd-tools brakuje OsmAndMapCreator.jar) – to napisane w javie narzędzie do pobierania lokalnie obrazków z widokiem mapy (kafelków) z serwerów map (na wiki openstreetmap jest dokładniejszy opis).
Po pobraniu trzeba go rozpakować i uruchomić
OsmAndMapCreator.bat
:Wygląda jak zwyczajna mapa – ale obsługuje się ją jak JSOM – prawym przyciskiem myszy można przesuwać mapę, a kółkiem powiększać; można chwilę spędzić na przesuwaniu i powiększaniu mapy żeby OAMC pobrał obrazków (kafelków).
OAMC w trakcie przeglądania mapy – pobiera wyświetlone kafelki (obrazki z mapą) na dysk:
W ustawieniach OAMC można zmienić miejsce gdzie ma lokować te grafiki (menu
Window->Settings
) :Żeby się przekonać jak wyglądają te kafelki – trzeba wejść do katalogu
osmand\tiles\Microsoft Maps
– wewnątrz będzie kilka podkatalogów (poziomów powiększenia) wewnątrz których znajdziemy kolejne podkatalogi – ale już wewnątrz nich – znajdziemy pliki z nazwą 348.png.tile
na przykład – takiemu pliku wystarczy zmienić nazwę na 348.png
aby się przekonać że skrót TMS oznacza dokładnie to czego jest skrótem – ten obrazek to fragmencik mapy; w pozostałych folderach jest reszta mapy którą przeglądaliśmy, jeśli wyjdziemy katalog wyżej – okaże się ze katalog o nazwie 10 zawiera kafelki mapy dla powiększenia (skali) 10, a inne katalogi są pełne kafelków ze swoich powiększeń.To jest skala wyświetlanej mapy.
Po tym wstępie - zabierzemy się za stworzenie własnej mapy której będzie można używać w OSMAnd.
Najpierw wybieramy źródło kafelków do mapy :
Tu akurat tego nie widać (OAMC ma generalny problem z tym podmenu) ale przekornie wybrałem mapę
Microsoft Maps
jako źródło kafelków. Następnie – rozglądamy się po mapie aby wybrać interesujący nas obszar – można oczywiście ściągnąć cały obszar polski w każdym powiększeniu ale taka mapa będzie miała gigantyczny rozmiar i raczej nie zmieści się w urządzeniu z androidem.
Z pewnych względów postanowiłem przenieść Przemyśl i jego okolice do OSMAnd – przesunąłem mapę w te rejony – tak aby kółko symbolizujące środek mapy znajdowało się w centrum interesującego nas obszaru:
Kolejnym etapem przygotowania będzie określenie jakie powiększenie mapy jest wystarczające – używając przycisków powiększania
12
do 16
.Następnie cofamy powiększenie do jej mniejszej wartości – dla mnie
12
- i lewym przyciskiem myszy zaznaczamy który konkretnie region ma być pobrany:I wciskamy Preload area :
Tutaj trzeba wybrać od jakiej skali do jakiej pobierać będzie kafelki – u mnie
12
do 16
– i gotowe – czas wcisnąć Download tiles – OAMC pobierze wszystkie kafelki w wybranych skalachTeraz z menu wybieramy Create sqlite database
OAMC zapisze wszystkie pobrane kafelki do pliku bazy danych w formacie sqlite – można zamknąć OAMC zajrzeć do katalogu z mapami:
Warto zmienić nazwę temu plikowi żeby łatwiej go zidentyfikować w OSMAnd, ale żeby się tam znalazł – należy przekopiować plik
Mapy microsoft.sqlitedb
do telefonu. Domyślnie OSMAnd swoje pliki z mapami trzyma w /mnt/sdcard/osmand
i tam trzeba skopiować pobrane kafelki, a konkretnie: kopiujemy z komputera plik Mapy microsoft.sqlitedb i wklejamy do androida w lokalizacje /mnt/sdcard/osmand/tiles/
I gotowe – mapa wyświetla się jako jedna z pozycji w mapach niestandardowych OSMAnd.
Przykład z Microsoft Maps nie był zbyt trafiony – ale ta metoda działa na każdą mapę – można sobie ściągnąć do OSMAnd mapy Yandex powiedzmy :>
Komentarze