B4A Library OSMDroid - MapView for B4A

Here we have my latest library - OSMDroid provides a MapView for B4A.

More info on the original (native Android) OSMDroid project can be found here: osmdroid - OpenStreetMap-Tools for Android - Google Project Hosting.

Library reference is no longer included in this post due to limits on the number of characters allowed in a single post.

I have created some tutorials to show basic usage of the library and will update this thread with a link to them as soon as i have them all uploaded.

** Your attention is drawn to the included file Apache License Version 2.0.txt, which is a copy of the Apache License Version 2.0 under which the native Android OSMDroid library is released **

Martin.
 

Attachments

Last edited:
@androidvh

Take a look at these posts of mine:

http://www.b4x.com/android/forum/threads/osmdroid-mapview-for-b4a-tutorial.16310/page-19#post-243189
http://www.b4x.com/android/forum/threads/osmdroid-mapview-for-b4a-tutorial.16310/page-19#post-243189

The parameter is radius and can be configured as a fixed pixel size or as 'units of meters' relative to the map's current zoom level.
The second post i linked to explains inaccuracies due to how far from the equator your circle is.

Try drawing a circle on the equator and checking it's size - does this appear to be correct?

Martin.
 
Tks for osm lib 4.1 and samples, greetings Martin,


I Do some questions:


1: How implemented in the new version 4.1, markersfocusoverlay options.


2: What is the best way to read files shape with osm, i have seen some applications (play-store), i think its used osm to read ... or in any case, not drawing lines between polygons.


3: Whe my app "pause" and “loading” it disable map tiles, what was happening?


4. Not find the way to show scale overlay , i reviewed your work samples 4.1, but not , do you have any idea?... today i have some practical and compas overlay and scale overlay and nothing?


Thanks
 
Last edited:
GREETINGS
WHAT HAPPENS WHEN I USE FILL.STROKE, THE DRAWINGS is distorted TO THE LIMITS OF THE SCREEN . TKS
upload_2014-5-25_19-44-26.png
upload_2014-5-25_19-45-41.png
 
Hallo Martin,

I solve the problem with the circle as followed:

Dim pp As Float = distanceinpixel

distancepixel is the result in pixel with the given radius(m), point(lat and lon) and zoomfaktor(mapview)

that´s working fine

CircleOverlayItem1=CircleOverlay1.AddCircleOverlayItem(point,pp, CircleOverlay1.RADIUS_UNITS_TYPE_PIXELS, 1, Colors.ARGB(32, 255, 10, 10))


Kind regards Volker
 
Hmm, I just re-created a few maps using mobac. I used osmdroid.zip as a format and mapquest maps for a tilesource (I grabbed zoom level 16 & 17).

What tile source should I use in my application? It was previously set to mapnik.
 
Hmm, I just re-created a few maps using mobac. I used osmdroid.zip as a format and mapquest maps for a tilesource (I grabbed zoom level 16 & 17).

What tile source should I use in my application? It was previously set to mapnik.

I have the same question.... help!!!!!
 
Thanks. I've just downloaded MapsForgeTileSource recompiled for version 4.1 of OSMDroid. Is this an upgrade? I've got 3_0_8 installed.
 
know the tool Maperitive? I have a few minutes testing the generation mapnik through this and apparently it works ...
 
Thanks. I've just downloaded MapsForgeTileSource recompiled for version 4.1 of OSMDroid. Is this an upgrade? I've got 3_0_8 installed.

No the underlying code is the same - just required a few internal changes to make it 100% compatible with version 4.1 of OSMDroid.

Martin.
 
know the tool Maperitive? I have a few minutes testing the generation mapnik through this and apparently it works ...
I have downloaded and restyled my country maps using maperitive, but how does one use these with the 4.1 library. I have loaded the above library but do I use the standard naming conventions, Is there an example anywhere ?
 
Tilesourcespinner.AddAll(MapView1.GetTileProvider) <-- java.lang.ClassCastException: org.osmdroid.tileprovider.MapTileProviderBasic cannot be cast to java.util.List

MapView1.SetTileSource(tilesourcefactory1.GetTileSource("Mapnik")) <-- error : array expected

can't for the life of me get maps to display offline...
Since I could not work out how to set the tile source I loaded some of the unzipped raster tiles into /osmdroid/tiles/Mapnik , now they load, but, only from the unzipped file, not from the tile source(zip) file. This is a gps app so perhaps I will need to figure out a method of downloading and extracting zip files for relevant areas as I wont be able to package the whole country in the assets folder
 
Last edited:
If i can just let you all know that i am following this thread but currently having a 2 or 3 week break from programming.
It's summer in the UK and time for a holiday.

Please be patient and i'll catch up at a later date :).

Martin.
 
Is it possible to save the tiles on the external sd-card? The /osmdroid-directory is on the internal storage by default. For using offline maps, it is much simpler and faster to save the tiles on the sd-card...

Thanks for help...
 
Hello Martin,

in older versions it was possible to create a local host as followed:

Dim Myxy AsXYTileSource
Myxy.Initialize("MapnikOffline", 10, 22, 256, ".png", "http://localhost/")
Mapview1.AddTileSource(Myxy)
Mapview1.SetTileSource("MapnikOffline")

I have found OSMDroid_TileSource...

Please what´s the way/syntax to do it in the new Version?

Kind regards
Volker
 
Back
Top