Comments (9)
@alexmercerind This Annotations plugin is not going anywhere and various users showed interest to keep it up to date. We're also not going to remove the Annotations functionality from the core in the upcoming release even though they are deprecated. So don't worry choosing either option.
The future is the to-be-implemented Kotlin API that @fynngodau is working on. Likely the internals of MapLibre Native will be overhauled at some point to support more flexible and performant annotations.
from maplibre-plugins-android.
Let me elaborate what I mean with a "tighter integration": currently a user of the annotations plugin has to maintain one instance of AnnotationManager
per type of annotation – see https://github.com/microg/GmsCore/blob/80780737726416d7924ba28a5c26acfa17fb1520/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt#L116-L131 for a real-world example. This is not something that users should be bothered with, it just adds to their boilerplate code. If there was a manager for each annotation managed inside the map object (e.g. a lazy kotlin object), this would reduce the amount of work that would need to be done to add a marker to the map. The other way seems very tedious.
from maplibre-plugins-android.
Just to be clear - is it suggested here to move the annotations plugin (the ticket maplibre/maplibre-native#1154) or all the plugins (the mention above of "move the plugins") into Native?
from maplibre-plugins-android.
@birkskyum I think it is up for discussion for which plugins this makes sense. For instance we would also want to integrate the marker view plugin (again¹).
¹ MapLibre has an InfoWindow implementation, made to imitate Google's info windows, that works similarly but not exactly the same. See also #28.
from maplibre-plugins-android.
Okay - I think whatever we don't bring over now could easily end up in a dusty archive without the important annotations plugin to keep it just a bit alive. Probably best to bring over anything that could hold value, even it it might seem as "too much", so that this repo won't need to be resurrected down the line.
from maplibre-plugins-android.
Just to be clear - is it suggested here to move the annotations plugin (the ticket maplibre/maplibre-native#1154) or all the plugins (the mention above of "move the plugins") into Native?
We will move Annotations first, which is arguably the most important, and then we look at the others.
My suggestion
Move to Core
Probably best to bring over anything that could hold value
MarkerView: Add map markers that are Android views.
Probably good to move over.
Scale bar: Provide a visual map scale bar for your users to determine distance.
Probably good to move over.
Maybe, but only if someone asks
Building: Add extruded "3D" buildings in your map style.
Probably we can get rid of this.
Already part of the core, but maybe this plugin offers some convenience?
Get rid of
Traffic: Adds a real-time traffic layer to any Mapbox base map.
Tied to proprietary API.
Location layer: [Deprecated] Add a location marker on your map indicating the user's location.
Already part of the Core SDK.
Places: Add location search to your app with beautiful UI.
Tied to Mapbox.
Localization: Have your map's text automatically match the device's default language setting.
Tied to Mapbox.
from maplibre-plugins-android.
As a general question, do you have a clear outline of which things are confusing / duplicate / wrong with the other plugins? You have a very clear outline for annotations, but which of the other ones are actually troublesome? Which changes are needed and how would integrating benefit the plugins?
Now a little more specific: As you might have already seen I'm working on a fork of the download plugin to breathe some new life into it, I personally (without ever having had the big picture view or any trouble with the issues you describe above) think it stands quite well as an external plugin. It's quite clearly optional and easily distinguished from the core code. Also this made my getting into maintaining it super easy.
You write that the offline plugin is already part of the core? Well kinda, yes, it calls the OfflineRegion and OfflineManager classes, but it functions as a wrapper. How do you see the roadmap here?
from maplibre-plugins-android.
@avalanchas Right now we only have a roadmap / plan for Annotations thanks to Fynn.
When it comes to the Offline plugin, we'd be happy to link to your fork from the Android README at maplibre/maplibre-native. Feel free to submit a PR.
from maplibre-plugins-android.
Hello,
I am using MapLibre's MarkerOptions
, PolylineOptions
. Both of which are marked as "Deprecated". My question is:
- What is the recommended API presently (with latest version)?
- What will be the recommended API (with upcoming version(s))?
https://maplibre.org/maplibre-native/docs/book/android/annotation-guide.html
What's the recommended approach to be future proof.
Thankyou.
from maplibre-plugins-android.
Related Issues (20)
- Consider editing repository setings to remove "Packages" section HOT 1
- Replace Circle CI badge with GitHub Actions
- Remove fork HOT 3
- Remove references to Mapbox HOT 10
- Align `minSdkVersion`
- Tests fail: Wanted but not invoked: geoJsonSource.setGeoJson HOT 1
- Enable CI for pull requests HOT 1
- Update dependencies to make the project build again HOT 2
- Line pattern cannot be un-set HOT 1
- Android Auto HOT 1
- Formatter CI
- MarkerView Plugin
- Annotation dragging does not respect the layer order HOT 11
- annotation-v9:2.0.1:SymbolOptions().withTextField("中文") only works with chinese?! HOT 2
- Update for MapLibre Native Android 11.0.0 HOT 3
- Maplibre plugins without Mapbox? HOT 1
- Update Scalebar Plugin for MapLibre Native Android 11.0.0 HOT 1
- Maplibre Android Plugin Installation V11 2.0.2 HOT 4
- Publish plugins without version postfix?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maplibre-plugins-android.