Ovi Maps Offline Search

This page aims at discussing methods and identifying ways to provide offline searching in Ovi Maps.

Proposal 1:

Currently Ovi Maps connects to a server with a search request, and the server responds back with an xml page of results. eg:

http://where.s2g.gate5.de/nsp?q=google&vi=where&lat=-33.854451&lon=151.072311&of=0&to=10&la=en-GB,en-GB&dv=oviMaps&rid=qq4y1Y3M

This will search for "google" near a specific latitude and longitude and return back an xml page (url modified slightly so as to not put up personal address).

By modifying the "index.html" code found in "/usr/share/nokia-maps/html", and changing the search url from "http://where.s2g.gate5.de/nsp?db=places" to a personal server created in Qt (eg: http://maemo.org/packages/view/omvoiceserver/), all search requests can be captured. The application then can either send the request on to the Nokia server and retrieve the xml, before passing it back to Ovi maps (ie it still uses the internet but only logs the search query), or it can perform its own search and create its own xml page (thereby not requiring the Nokia server, therefore offline search).

To create its own xml page, the application will need to read some form of database and retrieve a few items based on the search query.

Sub proposal 1:

If Nokia's own map data can be used to do the search, it would mean much more accurate results, less space consumed as there would be no need for an extra database, and less work required to make databases for all countries.

Its guessed that the address data is stored under "/home/user/MyDocs/cities/diskcache/ClientIndex" in 3 letter folders corresponding to different countries. Each folder contains 3 files, "City.dat", "City.db" and "City.ref".

At this present moment, the databases are of unknown format, and hence cannot be read, therefore cannot be used for offline search.