[FREE] DjMaps extension for OSM

I made this extension to make things easier to use OSM Maps features.

  • add custom Marker (customize icon and size), add custom User Icon
  • add Circle ( with User Exits Circle Alarm feature, returns Area size in m²)
  • add Polygon (returns Area size in m²)
  • add Track (returns length in m)
  • add Maptiles (load .mbtiles for Offline Map use)
  • add Image (load and fit an Image, for example a Photo of a historical Map
    as an Overlay)
  • add Route ( set start and endpoint, returns length in m)
  • Get Location from description ( e.g. Empire State Building, in aia click for text input,longclick "Loc" for Speech input)
  • All features are clickable and this way easy to remove.
  • add track from gpx or kml ( with the additional features of my GPX extension)
  • note: Currently, you still need to add the AppInventor OSM Map
    component and set it to invisible. Otherwise, the extension won't work.

Developed by Django 2026 using Fast.

:memo: Specifications


:package: Package: com.django.djmaps
:floppy_disk: Size: 68,35 KB
:gear: Version: 1.3
:mobile_phone: Minimum API Level: 14
:date: Updated On: 2026-03-13T23:00:00Z
:laptop: Built & documented using: FAST v5.7.0-premium


credits go to @Jewel for his filepicker extension I used in this demo aia

com.django.djmaps.aix (68.3 KB)
DjMaps0.aia (446.3 KB)

9 Likes

Great to see that you used aixtools for docs! Am I right?

2 Likes

Good job! :+1::sparkles:

need latlong on mapclicked :ok_hand::sparkles:

yes it already on maplongclicked but i mean mapclicked :ok_hand::sparkles:

yes it already on maplongclicked but i mean mapclicked :ok_hand::sparkles:

There isn't a MapClicked clicked event available in this extension The developer included 16 Event Blocks but not a MapClicked so you need to use the DjMaps.MapLongPressed

MapLongPressed_Event

Triggered when the map is long-pressed.

Parameter Type
latitude number
longitude number

Or you can use the native App Inventor Map control which has a TapAtPoint event.
TapAtPoint(latitude,longitude)
The TapAtPoint runs when the user taps at a point on the map. The tapped location will be reported in map coordinates via the latitude and longitude parameters.

The Map control is more flexible and easier to use for OpenStreetMap access than this extension in my opinion. :slight_smile:

native map component can load geoimages.mbtiles this ext can do this job

I think a longclick event is better, because otherwise you can easily set a marker by mistake when moving or zooming the map

not even loading for me? what could be the issue?


The main issue is that you didnt read the posts above where it is described how to set up the blocks :face_with_raised_eyebrow:
Ps: an update to fix the road map bug is ready but not released yet. Maybe in 2 weeks when i return home.

I've setup the blocks as per guide only. And for me, even aerial/roads/terrain all not working, even with map component alone and its a bug for sure.

I even gave Location_Sensor1 under location sensor but still didnot worked

  1. init map in screen initialize.
    It doesnt make sense to init the map when map is ready, right?
    Why dont you just test the provided aia and learn how to use the blocks?

I just noticed you are using kodular. Probably the aia wont work. I quitted using kodular long time ago. So I cant help you,sorry!

that could be the issue, thanks

Updated extension and aia in first post