Offline map app for Android
I used to use AndNav but then I found RMaps (see market or google it to get RMaps).With RMaps I can easily add offline maps such as google maps (terrains, satelite) or Microsoft hybrid map and many others through brilliant TrekBuddy Atlas Creator (Win,Linux or OSX). With this tool you just select whatever area you like in any resolution you please and the atlas will be created in minutes. I use SQLite format of maps which has advantage of single file and that is much more comfortable than thousands of tiles for AndNav. It takes more time to copy to SD card and it also makes any search on SD card slower (due to large amount of files). However I encounter problem with limited size of file, therefore limited area in single map. You can of course divide maps in more SQLite files.. Anyway, if anyone find way to create files over 100Mb let me know! I remember I can assign more memory to TrekBuddy atlas creator but ot somehow doesn't make any difference.
There is enough video tutorials to make it work but I'd like to focus on another issue I got with RMaps.
Import of multiple POIs from CVS Google Maps or csv file
Since RMaps currently doesn't support such feature one needs to do so manually. It takes about 10 minutes depends on what you've got:
Generals steps:
- open the RMaps SQLite database file with POIs. You find this one in SD card /Rmaps/data/geodata.db
- import POIs data
- copy the file back
Detailed guide
Google my maps POIs to RMaps
If you don't intend to import POIs from google maps skip this section.
Basicaly all you need here is to find way of turning the map POIs into any readable file such as CVS.
- find your google map with the POIs
- to get KML file of the map click right button on "view in Google Earth" and select "copy link location" (or anything like that)
- now paste the link in your address bar but before you hit enter find "output=nl" and change into "output=kml". That's how you get KML file with the POIs.
- Now we need to convert to more comfortable CVS format to work with. Go to http://sites.google.com/site/lschwabe and download script POIConverter.js.txt save to your disc and rename to POIConverter.js
- Use windows explorer to drag your KML file and drop onto POIConverter.js. This converts KML into CVS.
- Process as I have written above in "Import POIs to RMaps from CVS file"
e.g. http://maps.google.com/maps/ms?ie=UTF8&hl=en&vps=1&jsv=196c&msa=0&output=kml&msid=113491719443038673415.00046055e170a94315fc8
Open Rmaps POIs data file
open the RMaps SQLite database file where application keep POIs. You find this one in SD card /Rmaps/data/geodata.dbgeodata.db. You need to edit file as SQLite database - I used Firefox addon SQLite Manager 0.5.7. After installation you'll find SQLite manager in Menu-Tools. Find table "points" and in menu select Database -> Import
Import POIs to RMaps from CVS file
This part is a little bit tricky. I had no time to experiment so this is the first way I found. Let me know if there is easier one.
You need to import your POIs to database table "points" which I have done by making file in following form:
first line of the file:
pointid,name,descr,lat,lon,alt,hidden,categoryid,pointsourceid
any other line of the file is single POI, see your points database for last ID number so you can use ID count. Few sample lines below, remember to separate values by semicolon "," also notice there are some empty and zero values. I think it takes only few minutes to convert your data to this format by using for instance MS excel or OpenOffice Calc
8,Dona Village, ,22.911539,120.715904,0,,0,0
9,Dragon Head Mountain, ,22.911638,120.685890,0,,0,0
10,Maolin Gorge Waterfall, ,22.887562,120.690826,0,,0,0
therefore I had another 7 POIs in the database already so I started counting from 8, used name, lat and lon columns leaving the rest columns with zero or null (empty) value. Notice the empty ones has space inside ", ," (no space inside would cause force close of Rmaps).
In import wizard of SQLite Manager, you need either naame you imported file "points.cvs" otherwise you need to put name of the database "points" in the field. If your first line of the file contains the column names (which does if you followed the guide) then check "First row contains column names"
Well I understand it takes some effort, and understanding some basic computer stuff but it works!! If you find better way let me know!