|
9 | 9 | [](https://github.com/josxha/flutter-maplibre/stargazers) |
10 | 10 | [](https://github.com/josxha/flutter-maplibre/issues) |
11 | 11 |
|
12 | | -This package provides unofficial Flutter bindings for MapLibre libraries. |
| 12 | +This package provides unofficial Flutter bindings for MapLibre SDKs. |
13 | 13 |
|
14 | 14 | - [maplibre-gl-js](https://github.com/maplibre/maplibre-gl-js) is used for web |
15 | 15 | - [maplibre-native](https://github.com/maplibre/maplibre-native) (previously |
16 | 16 | named maplibre-gl) is used for android and in the future for iOS, |
17 | 17 | windows, macOS and Linux |
18 | 18 |
|
19 | | -### What is the difference to [maplibre_gl](https://pub.dev/packages/maplibre_gl)? |
20 | | - |
21 | | -Both, `maplibre_gl` and `maplibre` try to solve the same purpose to create |
22 | | -bindings between the |
23 | | -platform specific MapLibre SDK and Flutter. `maplibre_gl` is a fork |
24 | | -of `mapbox_gl` and already some |
25 | | -years around. `maplibre` on the other hand is a brand new and fresh |
26 | | -implementation. It tries to |
27 | | -provide the following improvements: |
28 | | - |
29 | | -1. A WebAssembly compatible web implementation using the new JavaScript interop |
30 | | - from `package:web` |
31 | | - and `js_interop`. |
32 | | -2. Zero cost JavaScript interop |
33 | | - using [extension types](https://dart.dev/language/extension-types) |
34 | | - that got delivered |
35 | | - in [Dart 3.3](https://medium.com/dartlang/dart-3-3-325bf2bf6c13). |
36 | | -3. More type safety and reducing the amount of platform custom code using code |
37 | | - generation with [pigeon](https://pub.dev/packages/pigeon). |
38 | | -4. No legacy code or workarounds in the code base (with the risk of not yet |
39 | | - including necessary |
40 | | - fixes). |
41 | | -5. Get rid of code where the licensing is not clear. For example some files |
42 | | - have |
43 | | - a `Copyright 2018 The Chromium Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.` |
44 | | - header but the LICENSE file doesn't mention it. |
45 | | -6. Using Kotlin instead of Java to benefit from null safety and reduce potential |
46 | | - NullPointerExceptions. |
47 | | -7. Keep all platforms in one package to simplify the release cycle. Having |
48 | | - multiple packages is a potential cause of bugs (e.g. |
49 | | - https://github.com/maplibre/flutter-maplibre-gl/pull/476) |
50 | | -8. Use [geotypes](https://pub.dev/packages/geotypes) which are |
51 | | - GeoJSON compatible |
52 | | - ([RFC 7946](https://datatracker.ietf.org/doc/html/rfc7946) compliant). This |
53 | | - makes it compatible with all the functionality |
54 | | - from [dart_turf](https://pub.dev/packages/turf). |
55 | | - from [dart_turf](https://pub.dev/packages/turf). |
| 19 | +MapLibre is a permissive and open source solution for the MVT |
| 20 | +(Mapbox Vector Tile) standard. By binding to native SDKs the package |
| 21 | +accomplishes performant rendering while supporting a lot of complex |
| 22 | +functionality. |
| 23 | + |
| 24 | +<table> |
| 25 | +<thead> |
| 26 | +<th>Use custom styles for your map</th> |
| 27 | +<th>Tilt or rotate your map</th> |
| 28 | +</thead> |
| 29 | +<tbody> |
| 30 | +<tr> |
| 31 | +<td><img src="https://private-user-images.githubusercontent.com/34318751/366865128-9871beb1-9887-4970-8ece-f8e3cb26f5c8.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYxNDM2MjQsIm5iZiI6MTcyNjE0MzMyNCwicGF0aCI6Ii8zNDMxODc1MS8zNjY4NjUxMjgtOTg3MWJlYjEtOTg4Ny00OTcwLThlY2UtZjhlM2NiMjZmNWM4LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEyVDEyMTUyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg1NDEwMTFjYWJkZjZmYzFmYmIyNjRlNjMyMTE5ZGI0ZWI0YmJiMWE4NGNkNGNlNmRjZmM5MDgzMjNhZGViZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rHi7xVLk-vP_3X_Cpi550-GcU7F5oKvPaBK2xf83Ks0" alt="Custom styled map" /></td> |
| 32 | +<td><img src="https://private-user-images.githubusercontent.com/34318751/366865159-eab6cf27-38cb-4111-9900-b109f86df57e.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYxNDM2MjQsIm5iZiI6MTcyNjE0MzMyNCwicGF0aCI6Ii8zNDMxODc1MS8zNjY4NjUxNTktZWFiNmNmMjctMzhjYi00MTExLTk5MDAtYjEwOWY4NmRmNTdlLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEyVDEyMTUyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBkYzkzZjZhYjQ2Yzk4YWMxZjdlZGZhN2E3OTdhZWYzNjNkNGU0NDBkM2MyMzAzMTIyM2MwNTBjNjRjMTRkOGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-AlEyjQ_qAYfgK0T6zddggZF3UU1Ck1VwB3-Ow9gCtg" alt="Tilted and rotated map" /></td> |
| 33 | +</tr> |
| 34 | +</tbody> |
| 35 | +</table> |
| 36 | + |
| 37 | +## Resources |
| 38 | + |
| 39 | +### Demo Application |
| 40 | + |
| 41 | +Check out the [hosted demo application](https://flutter-maplibre.pages.dev/demo) |
| 42 | +or dive into |
| 43 | +the [example app code](https://github.com/josxha/flutter-maplibre/tree/main/example/lib). |
| 44 | + |
| 45 | +### Get started & Documentation |
| 46 | + |
| 47 | +Visit the docs to learn how to get started with maplibre in your |
| 48 | +project: [Get Started](https://flutter-maplibre.pages.dev/docs/get-started) |
| 49 | + |
| 50 | +If you want to know more about the classes and properties of the package, have |
| 51 | +a look at |
| 52 | +the [API docs](https://pub.dev/documentation/maplibre/latest/maplibre/maplibre-library.html). |
56 | 53 |
|
57 | 54 | ### State of implementation |
58 | 55 |
|
59 | | -See https://josxha.github.io/flutter-maplibre/docs/features/supported-features |
| 56 | +This package is still a young package and in an early stage. |
| 57 | +While it offers a modern implementation, it currently lacks some |
| 58 | +functionality. [See our documentation to learn more.](https://flutter-maplibre.pages.dev/docs/features/supported-features) |
60 | 59 |
|
61 | 60 | ## Development & Contributing |
62 | 61 |
|
63 | 62 | If you need a feature or experience a bug you want to fix contributions are |
64 | | -always welcome. |
| 63 | +welcome. |
65 | 64 |
|
66 | 65 | ### Run code generation |
67 | 66 |
|
|
0 commit comments