Ovi Maps Offline Search

Line 12: Line 12:
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).
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).
+
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 running at "http://127.0.0.1:9999" (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.
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.

Revision as of 12:53, 18 March 2011

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 running at "http://127.0.0.1:9999" (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.

Currently its not understood how the database can be accessed to retrieve information required to make the xml page of results. The folder "/home/user/MyDocs/cities/diskcache/ClientIndex" contains 3 files that appear to be databases of some sort, however its unknown what type, and therefore cannot be opened.