Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
408 commits
Select commit Hold shift + click to select a range
d32d4b8
Update Gradle
devemux86 Jun 19, 2024
57739ba
Update workflow
devemux86 Jun 19, 2024
63acd08
Update workflow
devemux86 Jun 19, 2024
827d474
Update Integration.md
devemux86 Jun 19, 2024
c07b044
Layer API: change exceptions to warnings (#1490)
moving-bits Jun 30, 2024
b2016f2
Map rotation, fix #7 (#1491)
devemux86 Jun 30, 2024
543da91
Fractional zoom, fix #75 (#1492)
devemux86 Jun 30, 2024
13691af
Faster map rotation with matrix, #7 (#1493)
devemux86 Jun 30, 2024
87b907d
Motorider map theme, fix #1483 (#1494)
devemux86 Jun 30, 2024
1e3a0d0
Fix hillshading on 0 lat / lon, fix #1497 (#1498)
devemux86 Jul 2, 2024
928afa2
Update Changelog.md
devemux86 Jul 2, 2024
f3b3c4e
TouchGestureHandler: improve zoom gesture (#1501)
devemux86 Jul 21, 2024
0bdc41f
Motorider map theme improvements, #1483 (#1502)
devemux86 Jul 23, 2024
b6d9509
Parameter for polygon rendering (#1503)
devemux86 Jul 24, 2024
758d841
Callback methods for map reader (#1504)
devemux86 Jul 24, 2024
543cf21
Motorider and other map theme improvements, #1483 (#1505)
devemux86 Jul 25, 2024
2650664
Fix exception message can be null (#1506)
devemux86 Jul 25, 2024
eef5c56
Update LabelLayer.md
devemux86 Jul 29, 2024
d9f8cdd
Pre-cache map tiles (+-zoom, margin) (#1510)
devemux86 Jul 30, 2024
204c940
Map theme improvements, #1483 (#1511)
devemux86 Aug 3, 2024
2ee7b90
Motorider map theme improvements, #1483 (#1513)
devemux86 Aug 7, 2024
216eed5
Update Android Gradle plugin
devemux86 Aug 8, 2024
80b7825
Update Android Gradle plugin
devemux86 Aug 9, 2024
49502df
Android elastic zoom gesture option (#1515)
devemux86 Aug 10, 2024
d68b051
PolylineContainer: center point of non-closed ways (#1516)
devemux86 Aug 10, 2024
8d0024d
Motorider map theme improvements, #1483 (#1517)
devemux86 Aug 10, 2024
d866ea2
Update Rendertheme.md
devemux86 Aug 15, 2024
7a44535
Motorider map theme improvements, #1483 (#1518)
devemux86 Aug 17, 2024
bac1fcd
Hill shading improvements + new algorithm (#1521)
Sublimis Aug 21, 2024
fff4cbf
Update hillshading samples
devemux86 Aug 21, 2024
5aa5345
Update changelog
devemux86 Aug 21, 2024
4f127e8
AwtCanvas select hillshading composite (#1522)
devemux86 Aug 21, 2024
3d77d17
Motorider map theme improvements, #1483 (#1523)
devemux86 Aug 21, 2024
43d233d
Render themes: exclusive / except negation (#1524)
devemux86 Aug 22, 2024
7a95a3b
Motorider map theme improvements, #1483 (#1525)
devemux86 Aug 22, 2024
eba173f
Motorider map theme improvements, #1483 (#1526)
devemux86 Aug 22, 2024
ca65792
Label layer performance improvement (#1527)
devemux86 Aug 27, 2024
b137c68
Motorider map theme improvements, #1483 (#1528)
devemux86 Aug 29, 2024
e7058d5
NegativeRule: update comments
devemux86 Sep 4, 2024
102aae7
Hill shading algorithms improvements (#1) (#1534)
Sublimis Sep 7, 2024
dc36290
Update changelog
devemux86 Sep 7, 2024
fe150b9
Motorider map theme improvements, #1483 (#1535)
devemux86 Sep 10, 2024
483cf25
Update Changelog.md
devemux86 Sep 10, 2024
89d9830
Hill shading algorithms improvements (#1537)
Sublimis Sep 16, 2024
e50861a
Update changelog
devemux86 Sep 16, 2024
01e17c1
Rotation gesture, fix #1495 (#1538)
devemux86 Sep 17, 2024
9b0ea9c
Hillshading: increase default magnitude, fix #1540 (#1541)
devemux86 Sep 19, 2024
86566e8
Hill shading new algorithms and improvements (#1543)
Sublimis Sep 20, 2024
40bbecf
Update changelog
devemux86 Sep 20, 2024
f3350ef
Correct pull of data from MultiMapDataStore (#1544)
menion Sep 20, 2024
416b93d
Improve rotation samples, #7 (#1546)
devemux86 Sep 21, 2024
b29a98b
Hill shading: Bicubic interpolation (#1548)
Sublimis Oct 4, 2024
2645771
Hillshading: code formatting improvements
devemux86 Oct 4, 2024
be4617e
Update changelog
devemux86 Oct 4, 2024
6a9cd2f
Update README.md
devemux86 Oct 4, 2024
72a8a01
Parameters: use symbol scaling mode ALL (#1549)
devemux86 Oct 4, 2024
c66a7d4
Hill shading: Patch for bicubic (#1550)
Sublimis Oct 5, 2024
7a41b77
Update changelog
devemux86 Oct 5, 2024
3a50562
Parameters: use parent tiles rendering mode SPEED (#1552)
devemux86 Oct 6, 2024
ed85aae
Motorider map theme improvements, #1483 (#1553)
devemux86 Oct 7, 2024
f7ed40f
Motorider map theme improvements, #1483 (#1554)
devemux86 Oct 10, 2024
3237791
0.22.0
devemux86 Oct 10, 2024
1a3a759
Update Gradle (#1555)
devemux86 Oct 14, 2024
1a2ac6e
Android 15 (#1556)
devemux86 Oct 15, 2024
69bf2ab
Update documentation
devemux86 Oct 15, 2024
553388b
Update README.md
devemux86 Oct 16, 2024
e45c41d
Update Getting-Started-Map-Writer.md
devemux86 Oct 19, 2024
c2c246e
Motorider map theme improvements, #1483 (#1559)
devemux86 Oct 23, 2024
fc59ae6
Android 15 improvements (#1560)
devemux86 Oct 27, 2024
68602b6
Major hill shading performance improvements (#1561)
Sublimis Nov 2, 2024
8906357
Update changelog
devemux86 Nov 2, 2024
2d47522
Update README.md
devemux86 Nov 2, 2024
4d367e7
Marker billboard option in map rotation (#1563)
devemux86 Nov 3, 2024
bcfac89
Update Changelog.md
devemux86 Nov 4, 2024
8235cb5
Update README.md
devemux86 Nov 5, 2024
b04cabf
Motorider map theme improvements, #1483 (#1567)
devemux86 Nov 7, 2024
452dc3f
DatabaseRenderer: revert synchronized by #1561 (#1569)
devemux86 Nov 13, 2024
be83a90
Update Android Gradle plugin (#1570)
devemux86 Nov 13, 2024
5a83f71
Android 15 improvements (#1571)
devemux86 Nov 14, 2024
69b9803
Remove deprecated Filter, use ThemeCallback (#1573)
devemux86 Nov 14, 2024
45eb484
Update changelog
devemux86 Nov 14, 2024
623fb85
Fix AndroidCanvas constructor not enabling antialiasing/bitmap filter…
Sublimis Nov 14, 2024
f4c2a52
Motorider map theme Chinese language, #1483 (#1575)
devemux86 Nov 16, 2024
bbc6425
Fix: AWT sample app always requests zoom level zero (0) tiles at star…
Sublimis Nov 19, 2024
a96bc8b
Fix: DEM ZipFile-s not being closed (#1577)
Sublimis Nov 20, 2024
82ea30e
Fix: Labels overlap when map is rotated (#1578)
Sublimis Nov 20, 2024
698cf61
Desktop samples use label layer (#1580)
devemux86 Nov 23, 2024
9ebb290
Fix: Labels & co. (#1579)
Sublimis Nov 26, 2024
621c8b2
Update changelog
devemux86 Nov 26, 2024
3f6de6e
Fix MultiMapLowResWorld sample (#1583)
devemux86 Nov 26, 2024
8844f65
Multi-map improvements (#1582)
Sublimis Nov 27, 2024
869a7ee
Update changelog
devemux86 Nov 27, 2024
a534064
* Proper implementation of MapElementContainer.compareTo(other), cons…
Sublimis Dec 3, 2024
7fcbcda
Update Android Gradle plugin (#1585)
devemux86 Dec 3, 2024
801fb89
Completing deterministic labels and symbols effort (#1586)
Sublimis Dec 5, 2024
70a180a
Update changelog
devemux86 Dec 5, 2024
326d67b
Detailing the prevention of non-deterministic labels (#1588)
Sublimis Dec 10, 2024
2769f6c
Update changelog
devemux86 Dec 10, 2024
616d01d
Update changelog
devemux86 Dec 10, 2024
709b67e
Motorider map theme improvements, #1483 (#1590)
devemux86 Dec 16, 2024
81a421d
Remove deprecated IMapViewPosition (#1591)
devemux86 Dec 16, 2024
8f9af13
Update changelog
devemux86 Dec 16, 2024
5442939
Update theme documentation
devemux86 Dec 17, 2024
890d2b4
Adaptive hill shading (#1592)
Sublimis Dec 18, 2024
af8d37a
Add Constants class (#1593)
devemux86 Dec 18, 2024
e67cc0f
Motorider map theme improvements, #1483 (#1594)
devemux86 Dec 18, 2024
196bb77
Update changelog
devemux86 Dec 18, 2024
dba0ce9
Samples improvements (#1596)
devemux86 Dec 24, 2024
fc052a9
Hill shading improvements (#1597)
Sublimis Dec 27, 2024
b73eefa
Update changelog
devemux86 Dec 27, 2024
9c2ab55
Motorider map theme improvements, #1483 (#1600)
devemux86 Dec 27, 2024
3fc6a1b
* Fix: NumberFormatException when setting hill shading color in rende…
Sublimis Dec 27, 2024
4d10d3f
Samples improvements (#1602)
devemux86 Dec 27, 2024
9253288
Add ZOrderGroupLayer (#1603)
eddiemuc Dec 28, 2024
999c961
Update changelog
devemux86 Dec 28, 2024
30c514a
GroupLayer: add synchronized (#1604)
devemux86 Dec 28, 2024
bfbbbbc
Fixing issue 1598 probably (#1599)
Sublimis Dec 30, 2024
5d8e38e
Hill shading improvements and optimizations (#1605)
Sublimis Dec 31, 2024
4674895
Update changelog
devemux86 Dec 31, 2024
4bea2fc
Fix changing hill shading color on desktop (#1610)
devemux86 Jan 4, 2025
4b69752
Fix: AwtGraphicFactory.createMonoBitmap() hill shading color sync (#1…
Sublimis Jan 5, 2025
8fd6a19
Adaptive hill shading: Remove the default maximum zoom limits (#1612)
Sublimis Jan 5, 2025
0f3d5ef
Motorider map theme improvements, #1483 (#1613)
devemux86 Jan 5, 2025
289ff42
Simplify Constants (#1614)
devemux86 Jan 6, 2025
63f694d
MultiMapDataStore default constructor (#1615)
devemux86 Jan 6, 2025
2353965
Move MapViewerTemplate in samples (#1616)
devemux86 Jan 6, 2025
e53947a
Move preferences in samples (#1617)
devemux86 Jan 6, 2025
f5fe23a
0.23.0
devemux86 Jan 6, 2025
96cef32
InMemoryTileCache synchronized purge, fix #1618 (#1620)
devemux86 Jan 13, 2025
be2fec7
Color filter theme resources (#1622)
devemux86 Jan 13, 2025
03ddb20
Update changelog
devemux86 Jan 14, 2025
1151f52
Maven publish (#1627)
devemux86 Jan 16, 2025
3504bf7
Update Integration.md
devemux86 Jan 16, 2025
a1e2606
LatLong.compareTo() fix (#1628)
Sublimis Jan 17, 2025
1eab44a
MapDataStoreLabelStore.getVisibleItems remove synchronized, fix #1630…
devemux86 Jan 19, 2025
6c461a1
MapDataStoreLabelStore.getVisibleItems read all map data, fix #1631 (…
devemux86 Jan 19, 2025
ec88de6
Update templates
devemux86 Jan 20, 2025
4af2954
LabelLayerUsingMapDataStoreMapViewer include ways with tags, fix #163…
devemux86 Jan 20, 2025
31b618e
Update templates
devemux86 Jan 20, 2025
6034fd1
Update LabelLayer.md
devemux86 Jan 20, 2025
b0a4a45
Ways and POIs deduplication performance and correctness improvement (…
Sublimis Jan 23, 2025
e5379ea
Smoother paths with floating point coordinates (#1641)
Sublimis Jan 23, 2025
85134cc
Update changelog
devemux86 Jan 23, 2025
a4f60c4
Motorider map theme improvements, #1483 (#1642)
devemux86 Jan 24, 2025
e59ad08
Update changelog
devemux86 Jan 24, 2025
a2a59a6
Update readme
devemux86 Jan 24, 2025
94e4499
Avoid confusion with the word "labels" in context of a map file or st…
Sublimis Jan 25, 2025
e53b4b9
Update changelog
devemux86 Jan 25, 2025
7295ce2
Android: Use cache folder/subfolder to cache SVG files (#1643)
Sublimis Jan 26, 2025
40fdde7
Motorider map theme improvements, #1483 (#1645)
devemux86 Jan 28, 2025
c4e14bc
Motorider map theme improvements, #1483 (#1647)
devemux86 Jan 29, 2025
b7a22be
CachedMapDataStoreLabelStore (#1646)
Sublimis Jan 29, 2025
270faed
Update changelog
devemux86 Jan 29, 2025
db01f30
AndroidSvgBitmapStore fix NullPointerException, improve #1643 (#1651)
devemux86 Feb 5, 2025
7dfc437
Motorider map theme Czech language, #1483 (#1653)
devemux86 Feb 13, 2025
ff073b7
Android: option for non-transparent bitmaps to use Config.ARGB_8888 i…
devemux86 Feb 18, 2025
016ee1d
Update changelog
devemux86 Feb 18, 2025
c1c2776
Android: option for non-transparent bitmaps to use Config.ARGB_8888 i…
devemux86 Feb 19, 2025
95a788a
Update changelog
devemux86 Feb 19, 2025
9773a80
* Option to use Canvas.drawLines() when possible (Android) (#1657)
Sublimis Feb 21, 2025
d658c4f
AndroidParameters constructor, #1657 (#1658)
devemux86 Feb 21, 2025
b283174
Canvas.setClipDifference use float values, fix #1659 (#1660)
devemux86 Feb 25, 2025
9ee923e
Canvas.setClipDifference clamp float values, fix #1659 (#1661)
devemux86 Feb 26, 2025
8f8888f
Canvas.setClipDifference remove clamp float values, #1659 (#1662)
devemux86 Feb 26, 2025
c26cd3d
Fix: Incorrect use of Double.MIN_VALUE (#1663)
Sublimis Feb 27, 2025
b358a27
Fix: Normalize input to CanvasRasterer.fillOutsideAreas() (#1664)
Sublimis Feb 27, 2025
a8d21d0
Update Mapsforge-Applications.md (#1665)
WRPSoft Feb 28, 2025
150c747
Update samples (#1666)
devemux86 Mar 1, 2025
28ff862
Update samples (#1667)
devemux86 Mar 2, 2025
01fc4cd
Motorider map theme improvements, #1483 (#1668)
devemux86 Mar 2, 2025
22d826a
0.24.0
devemux86 Mar 3, 2025
510a654
AwtGraphicFactory.createBitmap: use isTransparent option (#1669)
devemux86 Mar 4, 2025
928a387
AndroidBitmap.compress use max quality (#1670)
devemux86 Mar 4, 2025
bf26de8
Hillshading external use option (#1671)
devemux86 Mar 7, 2025
4b1b44e
0.24.1
devemux86 Mar 7, 2025
ff177e7
Update themes (#1673)
devemux86 Mar 10, 2025
5f4cabf
Biker map theme (#1675)
devemux86 Mar 10, 2025
481118d
Hillshading tile layer (#1672)
devemux86 Mar 10, 2025
2da10b0
Update README.md
devemux86 Mar 10, 2025
0befd49
Update samples (#1676)
devemux86 Mar 12, 2025
5e58914
Update samples (#1677)
devemux86 Mar 14, 2025
8fbdaba
Update samples (#1678)
devemux86 Mar 15, 2025
9761c6e
Update Rendertheme.md
devemux86 Mar 22, 2025
7d8e1ba
POI: Arabic normalization (#1680)
devemux86 Mar 23, 2025
33d263b
Motorider and Biker map theme improvements, #1483, #1674 (#1681)
devemux86 Mar 23, 2025
4f81014
0.25.0
devemux86 Apr 4, 2025
5a17f01
Update Gradle (#1684)
devemux86 Apr 18, 2025
f93cd6e
Motorider and Biker map theme improvements, #1483, #1674 (#1685)
devemux86 Apr 18, 2025
b4b0edf
Add MBTiles offline renderer + layer (#1687)
moving-bits Apr 22, 2025
0be0803
MBTiles raster tile source improvements, #1687 (#1688)
devemux86 Apr 22, 2025
6783526
Update Android Gradle plugin (#1689)
devemux86 Apr 22, 2025
2add718
Map writer tag-mapping: add toll roads (#1691)
devemux86 May 9, 2025
95055cf
Motorider and Biker map theme improvements, #1483, #1674 (#1692)
devemux86 May 15, 2025
248fed0
Update Android Gradle plugin (#1693)
devemux86 May 16, 2025
4dbd898
Update Android Gradle plugin (#1699)
devemux86 Jun 5, 2025
6e404af
ThemeCallback.getText method (#1700)
devemux86 Jun 11, 2025
c427108
Motorider and Biker map theme improvements, #1483, #1674 (#1701)
devemux86 Jun 11, 2025
46de454
Android 16 (#1702)
devemux86 Jun 11, 2025
0a9d8a7
Dark and Indigo map themes, #1704 (#1705)
devemux86 Jun 20, 2025
a3cfcb2
Map theme improvements, #1483, #1674, #1704 (#1706)
devemux86 Jun 21, 2025
2244e11
Map theme improvements, #1483, #1674, #1704 (#1707)
devemux86 Jun 26, 2025
c229d12
Samples improvements (#1710)
devemux86 Jul 2, 2025
b7b0253
Disable Maven publish because OSSRH service reached end-of-life on 20…
devemux86 Jul 2, 2025
d4e4c69
Map theme improvements, #1483, #1674, #1704 (#1712)
devemux86 Jul 28, 2025
2d2e0ab
New Display.FORCED enum and behavior (#1717)
Sublimis Aug 3, 2025
15bf76c
Update changelog
devemux86 Aug 3, 2025
7151c82
Update Gradle (#1719)
devemux86 Aug 5, 2025
28086fe
Use a general xs:string for pathText and caption keys instead of fixe…
tumic0 Sep 8, 2025
8f8d6a2
Map theme improvements, #1483, #1674, #1704 (#1728)
devemux86 Sep 8, 2025
5577a35
DirectRenderer changes (#1729)
menion Sep 12, 2025
5a28c04
0.26.0
devemux86 Sep 14, 2025
b5c93c7
Render themes: restore display="always" rendering for compatibility w…
devemux86 Sep 15, 2025
b98ab21
0.26.1
devemux86 Sep 15, 2025
f2510ad
ThemeCallback: add getColor with tags (#1737)
devemux86 Sep 15, 2025
86c4e81
Add ThemeCallbackAdapter class (#1738)
devemux86 Sep 15, 2025
35895a5
Samples improvements (#1739)
devemux86 Sep 16, 2025
65599bb
Map theme improvements, #1483, #1674, #1704 (#1742)
devemux86 Sep 19, 2025
f772344
Update changelog
devemux86 Sep 19, 2025
2b24a5b
Map theme languages: Danish, Portuguese, Swedish (#1743)
devemux86 Sep 19, 2025
be980a9
Update Android Gradle plugin (#1744)
devemux86 Sep 19, 2025
336cb31
Customize touch size in markers, circles (#1746)
devemux86 Oct 15, 2025
8543997
Map theme improvements, #1704 (#1747)
devemux86 Oct 23, 2025
e38b525
Update integration guide
devemux86 Oct 31, 2025
0012dd1
Update README.md
devemux86 Oct 31, 2025
77d574e
Map theme language: Japanese (#1749)
devemux86 Nov 6, 2025
955918f
POI writer: update dependencies (#1750)
devemux86 Nov 7, 2025
4bb9457
- chg: optimize geometry processing and clipping (#1751)
devemux86 Nov 7, 2025
6bd33d4
Update changelog
devemux86 Nov 7, 2025
26d83e1
Map theme improvements, #1483, #1674, #1704 (#1753)
devemux86 Nov 23, 2025
0468375
* Faster hill shading on many devices (using Math.sqrt approximation)…
Sublimis Nov 23, 2025
205fd2e
Negative rule improvement (#1755)
devemux86 Dec 8, 2025
0287c2d
Map theme improvements, #1483, #1674, #1704 (#1761)
devemux86 Dec 18, 2025
a3bf4fd
Map theme improvements (#1762)
devemux86 Dec 18, 2025
f4c51d6
Revise 'v' attribute explanation in Rendertheme.md
devemux86 Jan 4, 2026
a2f3fcb
Fix formatting for 'v' attribute description
devemux86 Jan 4, 2026
a61b33c
Adding power lines to tag-mapping.xml (#1771)
Niklas04 Jan 6, 2026
80a2158
0.27.0
devemux86 Jan 12, 2026
0cedf45
Map theme improvements (#1772)
devemux86 Jan 17, 2026
a303eb7
POI writer: way-filtering off by default (#1773)
devemux86 Jan 17, 2026
1fb5d44
Update POI.md
devemux86 Jan 22, 2026
d6af59d
Adding new source of maps at Mapsforge-Maps.md (#1775)
cdavila Jan 26, 2026
fb6be01
Map theme improvements (#1776)
devemux86 Feb 9, 2026
9717a1a
Elevation API (#1777)
Sublimis Feb 20, 2026
5736bd3
Update changelog
devemux86 Feb 20, 2026
8bee3cd
Tag mapping: add islands on ways (#1778)
devemux86 Mar 4, 2026
44152e5
Map theme improvements (#1779)
devemux86 Mar 5, 2026
552013c
Map theme improvements (#1781)
devemux86 Mar 12, 2026
d854c07
POI mapping: add addr:postcode (#1786)
devemux86 Mar 21, 2026
dc08dbd
Publish sources and Javadoc jars (#1791)
devemux86 Apr 25, 2026
2eb8be9
0.28.0
devemux86 Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Forum
url: https://github.com/mapsforge/mapsforge/discussions
about: Ask questions and feature requests here
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
name: Bug report
about: Create a report to help us improve
---
15 changes: 8 additions & 7 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,23 @@ name: Android CI

on:
push:
branches: [ master ]
branches: [ "master" ]
pull_request:
branches: [ master ]
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: set up JDK 11
uses: actions/setup-java@v2
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'adopt'
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand Down
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
[![Maven Central](https://img.shields.io/maven-central/v/org.mapsforge/mapsforge-core.svg)](https://search.maven.org/search?q=g:org.mapsforge)
[![](https://jitpack.io/v/mapsforge/mapsforge.svg)](https://jitpack.io/#mapsforge/mapsforge)
[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](http://www.gnu.org/licenses/lgpl-3.0)

# Mapsforge

<img src="docs/logo/Mapsforge.svg" style="bottom:0;" width="200" align="right">

Vector map library and writer - running on Android and Desktop.

See the **[integration guide](docs/Integration.md)** and [changelog](docs/Changelog.md). And read through [how to contribute](docs/CONTRIBUTING.md) guidelines.

If you have any questions or problems, don't hesitate to ask the Discussions for help.
If you have any questions or problems, don't hesitate to ask the [forum](https://github.com/mapsforge/mapsforge/discussions) for help.

- Mapsforge project uses a [compact file format](docs/Specification-Binary-Map-File.md) for fast ad-hoc rendering of OpenStreetMap data.
- We provide tools to [compile your own maps](docs/Getting-Started-Map-Writer.md) with detailed [instructions](docs/MapCreation.md) and also [precompiled maps](https://download.mapsforge.org/).
- It provides [simple boilerplate code](mapsforge-samples-android/src/main/java/org/mapsforge/samples/android/GettingStarted.java) to build applications for Android that display OpenStreetMap-based maps.
- It provides [simple boilerplate code](mapsforge-samples-android) to build applications for Android that display OpenStreetMap based maps with rotation and hillshading.
- It provides a library to build standalone applications in Java ([instructions](docs/Desktop.md)).
- Mapsforge maps can be flexibly styled with XML style files ([render themes](docs/Rendertheme.md)).
- Mapsforge library supports offline high resolution [hill shading](https://github.com/mapsforge/mapsforge/blob/master/mapsforge-samples-android/src/main/java/org/mapsforge/samples/android/HillshadingMapViewer.java).
- We provide [tools & library](docs/POI.md) for POI search and also [precompiled POI](https://download.mapsforge.org/).
- Mapsforge supports Android 2.3.3 (API level 10) and above.
- Mapsforge is used by many [applications](docs/Mapsforge-Applications.md).
- Mapsforge is in active [development](docs/Contributors.md).
- Mapsforge [map providers](docs/Mapsforge-Maps.md).
- Mapsforge [talks](docs/Mapsforge-Talks.md).
- Building Mapsforge: set `ANDROID_HOME` environment variable with the Android SDK installation directory

## License

Expand All @@ -33,8 +37,9 @@ In other words, you are allowed to include Mapsforge library in your Android app

| Android |
| ------------- |
|<img src="docs/images/android.png" width="1000">|
|![Mapsforge](https://github.com/user-attachments/assets/41d66231-ce00-4647-856e-86092dd60d12)|
|![Mapsforge2](https://github.com/user-attachments/assets/2898c12a-d051-412a-acd2-e1c4a847cd57)|

| Desktop |
| ------------- |
|![Desktop](docs/images/desktop.png)|
|![2024-12-18-adaptive10](https://github.com/user-attachments/assets/f2fcb16a-e12d-4290-bdd4-ac901ea8a794)|
34 changes: 8 additions & 26 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,20 +1,11 @@
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}
plugins {
id 'com.android.application' version '8.12.3' apply false
}

allprojects {
group = 'org.mapsforge'
version = 'master-SNAPSHOT'
ext.isReleaseVersion = !version.endsWith("SNAPSHOT")

ext.androidBuildVersionTools = "30.0.3"
ext.jUnitVersion = "4.12"

if (JavaVersion.current().isJava8Compatible()) {
Expand All @@ -26,33 +17,24 @@ allprojects {
}
}

static def androidCompileSdk() { return 30 }
static def androidCompileSdk() { return 36 }

// 14 for Support Library, 16 for sqlite-android
static def androidMinSdk() { return 16 }
static def androidMinSdk() { return 21 }

static def androidTargetSdk() { return 30 }
static def androidTargetSdk() { return 36 }

static def versionCode() { return 1 }

def versionName() { return version }

subprojects {
repositories {
google()
mavenCentral()
}

tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
options.encoding = 'UTF-8'
if (JavaVersion.current().isJava9Compatible()) {
if (!project.properties.containsKey('android')) {
if (project.name.contains('writer'))
options.compilerArgs.addAll(['--release', '8'])
else
options.compilerArgs.addAll(['--release', '7'])
options.compilerArgs.addAll(['--release', '8'])
}
}
}
Expand Down
123 changes: 51 additions & 72 deletions deploy.gradle
Original file line number Diff line number Diff line change
@@ -1,94 +1,73 @@
apply plugin: 'signing'

if (project.hasProperty("android")) {
task sourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}

task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
classpath += project.android.libraryVariants.toList().first().javaCompileProvider.get().classpath
}
} else {
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}
java {
withJavadocJar()
withSourcesJar()
}

task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}

artifacts {
archives javadocJar
archives sourcesJar
}

signing {
required { isReleaseVersion && gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}

uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: SONATYPE_USERNAME, password: SONATYPE_PASSWORD)
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: SONATYPE_USERNAME, password: SONATYPE_PASSWORD)
}

pom.project {
packaging 'jar'

name 'mapsforge'
description 'Vector map library written in Java - running on Android and Desktop.'
url 'https://github.com/mapsforge/mapsforge'

publishing {
publications {
maven(MavenPublication) {
pom {
name = 'Mapsforge'
description = 'Vector map library and writer - running on Android and Desktop.'
url = 'https://github.com/mapsforge/mapsforge'
licenses {
license {
name 'GNU Lesser GPL'
url 'http://www.gnu.org/licenses/lgpl.html'
distribution 'repo'
name = 'GNU Lesser GPL'
url = 'https://www.gnu.org/licenses/lgpl.html'
}
}

scm {
connection 'scm:git:https://github.com/mapsforge/mapsforge'
developerConnection 'scm:git:https://github.com/mapsforge/mapsforge'
url 'https://github.com/mapsforge/mapsforge'
}

developers {
developer {
id 'thilo.muehlberg'
name 'Thilo Mühlberg'
email '[email protected]'
id = 'thilo.muehlberg'
name = 'Thilo Mühlberg'
email = '[email protected]'
}
developer {
id 'jjbross'
name 'Jürgen Broß'
email '[email protected]'
id = 'jjbross'
name = 'Jürgen Broß'
email = '[email protected]'
}
developer {
id 'ludwigbrinckmann'
name 'Ludwig M Brinckmann'
email '[email protected]'
id = 'ludwigbrinckmann'
name = 'Ludwig M Brinckmann'
email = '[email protected]'
}
developer {
id 'devemux86'
name 'Emux'
email '[email protected]'
id = 'devemux86'
name = 'Emux'
email = '[email protected]'
}
}
scm {
connection = 'scm:git:https://github.com/mapsforge/mapsforge'
developerConnection = 'scm:git:https://github.com/mapsforge/mapsforge'
url = 'https://github.com/mapsforge/mapsforge'
}
}
}
}
repositories {
maven {
def releasesRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
def snapshotsRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots/'
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
username = SONATYPE_USERNAME
password = SONATYPE_PASSWORD
}
}
}
}

signing {
required { !version.endsWith('SNAPSHOT') }
sign publishing.publications.maven
}

javadoc {
if (JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
}
2 changes: 1 addition & 1 deletion docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

As an open source project, we welcome new contributors and appreciate your help.

Before you start working on an unresolved issue or try to implement a new feature, please contact us via the Discussions. We will then discuss the best way to realize your proposal and figure out how we can help you to get started quickly.
Before you start working on an unresolved issue or try to implement a new feature, please contact us via the forum. We will then discuss the best way to realize your proposal and figure out how we can help you to get started quickly.

If you are only requesting a small change in the code, you may attach a patch file to the corresponding issue, but it is best to create a pull request on Github. Make sure that your patch is derived from the latest version in our **master** repository, otherwise we might be unable to apply it. Important is to keep pull requests simple with one feature in each. Please follow our code and style conventions.

Expand Down
Loading