Qt Mobility GeoServices plugin for OpenStreetMap
-
Hi,
I recently started porting my bike sharing application (Lugdulo'V) to
new Qt Mobility QGraphicsGeoMap instead of QMapControl, but currently
Qt Mobility is only able to use Ovi Maps tiles.It's why I wrote two new Qt Mobility Geoservices plugins to access
Open Street Map and Google Maps tiles.Code and documentation are available here:
http://xf.iksaif.net/dev/qtm-geoservices-extras.htmlThanks,
-
This is very cool. I will certainly have a play with these at some point in the near future.
Does OpenStreetMap allow persistent storage/caching of tiles? If so, the OSM plugin could potentially interface with user-installable map databases for an effective offline mode.
Cheers,
Chris./edit: I just saw Dave's comment on Qt Labs Blog - he says that it's possible that the OSM servers used by this plugin aren't meant for heavy usage, and that Google Maps have some particular Terms and Conditions which plugin implementors (and users of those plugins) have to be careful of. He's going to post some more information on the topic shortly, I think.
-
For OpenStreetMaps, it does not seems to conflict with http://wiki.openstreetmap.org/wiki/Tile_usage_policy , except for Heavy users. But the user is the one who use the plugin, not the plugin itself, and the plugin allow to user another servers.
And yes, it could probably be used for offline mode.
-
That was my bad - the OpenStreetMaps plugin is fine.
The Google Maps plugin is also fine but the terms and conditions, while not too scary, are a little more involved than the terms for OpenStreetMaps.
"Section 10.9":http://code.google.com/apis/maps/terms.html#section_10_9 , for instance, looks very similar to the terms and conditions of the Nokia plugin that we ship with. I'm not entirely sure how to deal with "Section 9.2":http://code.google.com/apis/maps/terms.html#section_9_2 though, although we may have to deal with eventually if the underlying Nokia service "activates" it's equivalent requirement.
In short, keep up the good work!
-
Great job, iksaif! I'm about OSM plugin.
I'm working on Cloudmade geoservice plugin, details here:
http://developer.qt.nokia.com/forums/viewthread/3621/ -
Hi all!!! I was exactly searching for the openstreetmap plugin, thinking also on developing it by myself... Actually I'm new to Qt, so have a really basic and maybe stupid question... How can I use a plugin? I think i can download the sources and compile them, but...have I to recompile the entire qt mobility in order to use it?
-
No, you just need to download the sources, and build them independently (using either CMake or qmake).
It will produce two geoservices plugins, and you'll have to put them on the right directory (you can use the system directory, or you own custom directory: http://doc.qt.nokia.com/latest/plugins-howto.html#locating-plugins ). -
Thanks for the information!!! :)
Despite the fact that I'm having some problems in compiling them (I think I cannot compile them with Qt Creator, so need to understand if the mingw-make compiler is the right to use, also for symbian deploy :P ), as far as I understand, I need to create a subdirectory geoservices of my current directory, put the 4 dll file generated there, and all should works, right? Sorry for all these questions :) -
It should builds fine with QtCreator, just open qtm-geoservices-extras.pro
Then, it should be handled like any Qt Plugin. If you don't know about plugin, please read:
- http://doc.qt.nokia.com/latest/plugins-howto.html#locating-plugins
- http://doc.qt.nokia.com/latest/deployment-windows.html#qt-plugins
For Symbian, that will probably be more complicated, since there is a lot of qmake stuff to write to deploy things correctly on the device. It may be easier to link them statically.
-
Hi,
I have been using iksaif plugins for a while but some time ago the google map one stopped to work. Now I just only get a white image but I can see a refresh is tried if I zoom in/out or move.
Therefore I guess I need to modify the url used to access google map service images, but I cannot find how to change it.
Can someone help me?Currently the 2 lines that I think need to be modified are:
return "http://khm.google.com/kh?v=51&x=%1&s=&y=%2&z=%3"
return "http://mt.google.com/vt/lyrs=&x=%1&s=&y=%2&z=%3";I read on google developers page that we need to add API key parameters in request but it did not solve my issue.
Thank you!