New Qt Mobility Location API plugin: Cloudmade
Today we delivered Cloudmade Location API plugin for qt-mobility and very open for you feedback!
The Cloudmade Location API plugin is implemented as qt-mobility pluging using Cloudmade Location Management service. This service allows developers to create, delete, update and search locations, i.e. places on the map, which have attributes such as: name, description, latitude, longitude, tags and photos.
More info is available here: http://developers.cloudmade.com/projects/show/locations [developers.cloudmade.com]
The Cloudmade Location API plugin extends functionality of qt-mobility, while our CloudMade GeoServices plugin (http://developer.qt.nokia.com/forums/viewthread/3621/ [developer.qt.nokia.com]) overrides existent functionality.
The Cloudmade Location API plugin:
- has interface, were Location API functions and their parameters are defined (tools/cloudmadelocationmanagement/plugin/locationinterface.h).
- this interface has implementation (locationplugin.cpp, h).
- and there is also a small unit test program (testlocmgmt), which loads this plugin and test that CloudMade Location API (via new qt api) is working. So it is possible to see how to use the location API .
The code is placed here (this is development branch):
To check it out, you need:
1) compile: ./configure make
2) run: cd tools/cloudmadelocationmanagement ./cloudmadelocationmanagement
Also, as required by the meego build system the CloudMade Location API plugin was extracted from the big tree to a separate repository:
We are glad to hear from you, so any feedback, review comments and questions are very welcome!
Well that was easy to get working out-of-the-box, nice.
An API comment, is there going to be an asynchronous API? Just wondering would operations like searchLocationByName() over network block for their duration?
The functionality in location management interface seems to somewhat resemble the QtMobility Places API (http://bugreports.qt.nokia.com/browse/QTMOBILITY-871). At a glance the use-case list seems to cover most functionality (and more). It is a work in its early days, but it may be worth dropping a line in the Jira entry if you’re interested in aligning.
Thank you for feedback, guys!
We plan to add support of asynchronous API in our Location API plugin, but I can’t access Jira to request the same in http://bugreports.qt.nokia.com/browse/QTMOBILITY-871 [bugreports.qt.nokia.com].
Is there any one who can help here, please?
After having used this plugin for quite some time now, i have learned about some problems with it:
- The tiles are cached under /temp/whatever.png but they are not png files (the modification time is prepended). Thus they show up in the symbian photo gallery as broken images
- The tile cache is one huge flat directory making io to it awful slow if the number if cached tiles becomes big
- The cleanup process takes even longer and can halt a symbian phone for half a minute or longer on any app startup and end
Thank you for feedback! Yes, you absolutely right, currently tile cache performance is far from optimal, it’s just initial version of it. (even so, it works much faster with such simple cache, than with standart qt “url” cache). Tile cache performance will be optimized in future version of plugin, and it will solve mentioned problems. Unfortunately, I can’t tell when it will be released; I think feedback and community interest will speed-up this process