PDA

View Full Version : Map widget for fremantle (and diablo and chinnok)


Master of Gizmo
2009-08-19, 20:03
Hi,

i have started to convert osm-gps-map into a full google-maps style widget. See the first screenshot of gpxview using it here:

http://www.harbaum.org/map-widget.gif

Further work will focus on easy integration into other applications. My hope is that this will enable a whole new bunch of map enabled applications.

MoG

sampppa
2009-08-20, 07:17
I use osm-gps-map in eCoach also and I'm sad that i didnt found it much earlier, it rocks! :)

Master of Gizmo
2009-08-20, 09:39
I use osm-gps-map in eCoach also and I'm sad that i didnt found it much earlier, it rocks! :)

Yepp, it's cool!

But it really needs some work to be perfect for maemo as e.g. default redraw events come too fast for the omap to handle. You thus have to reduce the refresh frequency to avoid lags. Also there are some (strange) expose events on maemo when you start dragging which cause some flickering at the begin of each map dragging. Another thing i noticed is that it uses gdkpixbufs unternally for the map tiles which is overkill and wastes cpu time and memory. Etc etc ...

So there's really a reason that we make one version specifially targetted for maemo. If everybody takes the original version all people will end up fixing the same issues (e.g. your app still has these visual "jumps" while dragging).

qgil
2009-08-22, 19:48
Cool widget, indeed!

Would it make sense to put the controls in the right side by default, considering that a majority of users will use these controls with the right hand?

mikkov
2009-08-23, 00:47
Cool widget, indeed!

Would it make sense to put the controls in the right side by default, considering that a majority of users will use these controls with the right hand?

Are you sure? I always hold N800 with my left hand and use buttons and left part of the screen with left thumb.

qgil
2009-08-23, 04:01
Yesterday I tried this widget for the first time and the first instinct was to use the right hand even if I was sustaining the device with the left. The buttons require certain precision. But you might be right, let's get ourselves more used to this interesting widget.

qole
2009-08-23, 05:09
My biggest complaint about anything OSM based is not the app (or widget) using the maps, but the maps themselves. They are so sketchy and rudimentary for my city, they are really not usable.

They look very good for Europe, however.

zehjotkah
2009-08-23, 06:28
My biggest complaint about anything OSM based is not the app (or widget) using the maps, but the maps themselves. They are so sketchy and rudimentary for my city, they are really not usable.

They look very good for Europe, however.

Then you know what you have to do this year... ;-)

Yea, here even my very small village (but very near Berlin) is perfectly covered...

qole
2009-08-23, 21:06
Then you know what you have to do this year... ;-)

Yes, keep using Google / Yahoo / Virtual Earth maps, rather than re-inventing the wheel. :(

The Google Street View van has been seen wandering my streets, and you're suggesting I recreate the maps for my city?

sampppa
2009-08-23, 21:10
Well osm-gps-map is capable of showing google maps, virtual earth, yahoo and osm... It just needs a features for placing POI's, buttons and other data on top of the map image. So it's a widget for various map sources, not just osm

zehjotkah
2009-08-24, 05:40
Yes, keep using Google / Yahoo / Virtual Earth maps, rather than re-inventing the wheel. :(

The Google Street View van has been seen wandering my streets, and you're suggesting I recreate the maps for my city?

But OSM is open source.... And I KNOW that we all are open source fanboys... ;-)

Imagine following situation: You are on the way to work. Then you see, that they are building a new street (in my village very often, because many people try to escape from berlin, but they still want live near...). Google need to send their cool google-car to check everything out, and after a year or so, the new street is covered in google maps, too. But YOU can pull out your n810 (or the next device with built-in data-modem) and just drive on that new street once (upload it directly with the new device) and voilá, its on OSM.

Johnx
2009-08-24, 05:47
Yes, keep using Google / Yahoo / Virtual Earth maps, rather than re-inventing the wheel. :(

The Google Street View van has been seen wandering my streets, and you're suggesting I recreate the maps for my city?

<sarcastic>Since we already have Windows Mobile, why should we bother reinventing the wheel?</sarcastic> Also, just FYI, scraping google map tiles is against Google's terms of service for the google maps API, AFAICT:
http://code.google.com/apis/maps/faq.html#tos_tiles

qole
2009-08-24, 05:49
And it would seem that I have spoken too soon, and too harshly, as well. I just checked openstreetmap.org and they have dramatically improved the maps for Vancouver in the last year. A year ago they had only a few major streets for my city and mostly empty space. Now they have all the small streets and even some features that Google Maps don't have.

I'm actually quite sorry and embarrassed about what I said above... :( :o

fragos
2009-08-24, 21:58
And it would seem that I have spoken too soon, and too harshly, as well. I just checked openstreetmap.org and they have dramatically improved the maps for Vancouver in the last year. A year ago they had only a few major streets for my city and mostly empty space. Now they have all the small streets and even some features that Google Maps don't have.

I'm actually quite sorry and embarrassed about what I said above... :( :o

Many things change with time. No need to be embarrassed. We do our best to help each other with the knowledge we have. To me you are a very credible source of information.

YoDude
2009-08-25, 01:00
Is Nokia's WRT (http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/) now available for diablo and chinook? :confused:

inoshishi
2009-08-26, 21:56
Hi master of gizmo, I love the concept of having a common widget to have a consistent experience and to allow the developers to focus on something else than drawing a map.

Is osm-gps-map using a single repository to store the maps between the separate applications ?
So, if a user downloads a few tiles using OSM2Go, does he get those tiles available from every other application using the osm-gps-map widget ?

I haven't seen where I could downlaod the widget and try to play with it. I'd love to try and make a prototype for simple, finger friendly application for in-car use. I find maemo mapper to not be ideal to use while driving.

Does it have python bindings ?

Master of Gizmo
2009-08-27, 05:53
Yesterday I tried this widget for the first time and the first instinct was to use the right hand even if I was sustaining the device with the left. The buttons require certain precision. But you might be right, let's get ourselves more used to this interesting widget.

The OSD controls are fully configurable. They are a seperate layer above the map. Currently there's only the "classic" style OSD which resembles the google maps controls.

But you can do any kind of OSD with this. The next style planned is based upon ecoachs fremantle style with the two big zoomin and zoomout buttons at the border.

It really depends on the app which is better. Imho a fullscreen map as in gpxview needs those thumb buttons at the border. A map integrated into a complex dialog box like in osm2go should rather have these google like controls especially if - like in the osm2go area selection - it doesn't support dragging the map.

MoG

Master of Gizmo
2009-08-27, 05:58
Is osm-gps-map using a single repository to store the maps between the separate applications ?


Yes it is. It's the app using the map that the specifies where the data goes (or of it isn't cached at all), but i strongly recommend to use the same defaults i use, so they all use the same cache.


I haven't seen where I could downlaod the widget and try to play with it.


Currently the development takes place inside gpxview and the code is copied into osm2go every now and then. I am planning to make this a complete stand-alone project, but that hasn't happened now. I'll also make a simple stand-alone app using it as an example. But currently gpxview probably is the best place to look.


Does it have python bindings ?
[/QUOTE]

The original osm-gps-map had them. My extensions (which are getting more and more) don't.

Master of Gizmo
2009-08-27, 06:08
Well osm-gps-map is capable of showing google maps, virtual earth, yahoo and osm... It just needs a features for placing POI's, buttons and other data on top of the map image. So it's a widget for various map sources, not just osm

Selecting the map source is something the widget still has to learn. Currently this can already be done by the application using the widget, but there should imho also be an OSD option for the map for this, so the developer also doesn't have to care about this.

But i stronly recommend osm since it's the only one that will sure always allow such widgets. Google and friends may just change/disable their apis at will (and they already did which is why osm-gps-map and maemo mapper can't use the google hybrid map anymore).

MoG

Nelson L. Squeeko
2009-09-01, 11:57
I've tried the widget out in gpxView, its nice having all the geocaches shown on the map by default. I have a couple questions though.

Is there a way to download a large area of tiles (instead of dragging the map around and auto-downloading)?

Where do the map tiles get downloaded to, and is there a way to change this?

Master of Gizmo
2009-09-04, 20:20
The current release also supports google earth and friends. Also the colours of the OSD now adapt to the device its running on and the direction arrows are only enable when the map itself cannot be dragged (like in osm2go where you use the stylus to select an area).

http://www.harbaum.org/osm-gps-map-menu.png

The data is stored on the internal memory card. Any the widget itself doesn't give you a means to download a certain area or so. At some point i plan to add a support tool/control plugin that lets you do some basic maintenance stuff on the cache like downloading entire areas or flushing the cache (e.g. to download updated tiles afterwards).

But before that i'll add a direction arrow to the gps indicator and some map scale.

lardman
2009-10-14, 08:07
I may have missed it, but where is the modified code? Will it remain in the form of a library?

Garage is being its usual painfully slow self, so it may well be in there, I just can't find it (yet)

Nelson L. Squeeko
2009-10-23, 00:44
In the most recent update (0.8.11), when I try and run the Map it crashes GPXView. When run through xTerm it returns with a Segmentation Fault.

Master of Gizmo
2009-10-24, 08:55
In the most recent update (0.8.11), when I try and run the Map it crashes GPXView. When run through xTerm it returns with a Segmentation Fault.

Someone else reported the same problem. I cannot reproduce this but i am working on this. What OS do you use? Diablo?

Nelson L. Squeeko
2009-10-26, 12:41
Someone else reported the same problem. I cannot reproduce this but i am working on this. What OS do you use? Diablo?


Yes, I'm on the latest version of Diablo.

Nelson L. Squeeko
2009-10-31, 12:35
I updated gpxView with the most recent update last night (0.8.12) and it fixed the map crashing problem. Thanks for the fix.

Tintin
2009-10-31, 16:47
This...looks awesome....I may have to make an addition to my signature :)

lardman
2009-11-01, 09:23
Just in case it was missed last time, are you planning on separating this widget's code out into a library so other apps can use it?

qgil
2009-11-01, 09:29
Actually it would make a nice desktop widget if you could just activate/deactivate not to poll GPS all the time. The map in GPXview is very sweet, I like a lot how the range of accuracy is drawn dynamically.

Master of Gizmo
2009-11-02, 07:36
Actually it would make a nice desktop widget if you could just activate/deactivate not to poll GPS all the time. The map in GPXview is very sweet, I like a lot how the range of accuracy is drawn dynamically.

I am thinking about this for some time now. It's mainly a matter of time now as the number of maemo projects i am maintaining tends to grow ... There's still one big todo for the map which is "power consumption". There are still redraws happening which aren't neccessary and this has to be reduced to a minimum before.

And i agree, the idea behind the existig map widget may be nice, but the map actually being displayed is nothing more than three or four lines which is pretty useless ...

Master of Gizmo
2009-11-02, 07:45
Just in case it was missed last time, are you planning on separating this widget's code out into a library so other apps can use it?

There doesn't seem to be much interest in a seperate library, so i have dropped that idea for now. Whoever is interested in using the widget can do it right now by taking the required source files from gpxview (i'd be helping with that). After two or three people have done that we can try to agree on a function set needed for a unversal map widget. And then i can make the library.

But i won't do that while i am the only user of such a map as i don't want to build something that only suits my own needs and thus isn't used/usable by anybody else.

What applications do you think need a map widget? Perhaps we can directly ask their authors. I already contacted the belltower author but never got a reply, so there's probably no interest.

Master of Gizmo
2009-12-09, 12:51
Many n900 users seem to be using gpxview just for its map. So i decided to finally do the move and make a simple stand-alone app from it. You can find it under the name Maep in extras-devel.

Maep has has its own garage project (also named maep) which includes this small map application. This is the bare map and cannot do much more than just displaying your GPS position on a map. But this is supposed to also serve as a starting point for other map based applications.

Flare
2009-12-30, 01:48
The idea of having a common widget to simplify the developer's life is great...

Any plan for python bindings?

Has anyone got the osm-gps-map python bindings working on fremantle? I tried, the C works ok but when I try to run make on the python bindings I get the following error:


osmgpsmap.override: In function '_wrap_osm_gps_map_download_maps':
osmgpsmap.override:195: error: 'Py_RETURN_NONE' undeclared (first use in this function)
osmgpsmap.override:195: error: (Each undeclared identifier is reported only once
osmgpsmap.override:195: error: for each function it appears in.)
osmgpsmap.override: In function '_wrap_osm_gps_map_add_track':
osmgpsmap.override:175: error: 'Py_RETURN_NONE' undeclared (first use in this function)
osmgpsmap.c: At top level:

Any clue?

thanks

qole
2009-12-30, 06:11
If maep could track your position then export and display tracks, it would cover 85% of what I use Maemo Mapper for.

Right now there isn't anything on the N900 to track GPS position...

nzjrs
2010-01-10, 20:27
Hi,

I am the author of osm-gps-map, and to those stumbling on this thread; most/all of the changes (in maep,gpxview,osm2go) from the plain osm-gps-map are being merged upstream.

Please check out the homepage of osm-gps-map where you can build the library and python bindings

http://nzjrs.github.com/osm-gps-map

John

peppe78
2010-11-18, 11:30
Hi,

I am the author of osm-gps-map, and to those stumbling on this thread; most/all of the changes (in maep,gpxview,osm2go) from the plain osm-gps-map are being merged upstream.

Please check out the homepage of osm-gps-map where you can build the library and python bindings

http://nzjrs.github.com/osm-gps-map

John

Hi!
I'm trying to make a profile app, which would change profile by location area. And the area would be chosen from a gps map.
I tried osm-gps-map but the osd buttons are really small and i don't get it how to connect to these buttons?

or how could i easily include maep for this!(which look great!)?