Giter Site home page Giter Site logo

Comments (8)

risinghero avatar risinghero commented on July 18, 2024 1

from mapbox.

dagatsoin avatar dagatsoin commented on July 18, 2024
  • I propose to add multi maps on the feature list as it is almost done.
  • You can also add offline maps as it already works.
  • As the api surface will be extended and the implementation will be bigger, I think unit test could be useful.
  • A bit of doc will be useful to explain how the plugin work. (cf. "google map box cordova plugin" as my implementation is globally the same.

from mapbox.

dagatsoin avatar dagatsoin commented on July 18, 2024

I would like to talk about the motivation of what I have done on #29 to synchronise (or not) our goals.

Motivations

  • I needed an offline map plugin for Wizar, an HTML 5 game (only in french for now, sorry):
    So basically, I overlay the Mapbox view with a webview within I run the game interface (with React) and Pixi.js (and I aim Three.js in the futur). The good thing is you can use any DOM element as marker.
  • I needed offline map functionality. So I needed to bump the Mapbox API.
  • I also need to display two maps at the same time (game map + mini map). So I have developed my plugin by looking at #22.

Architecture overview

  • I stick to MapboxGL JS naming to have a drop in replacement.

  • The plugin controller: CDVMapbox.java:

    1. receives the command
    2. retrieves or creates a Map through MapsManager.java
    3. treats the command through the Map
    4. sends the result
  • The maps manager: MapsManager.java:
    creates/retrieves/deletes a Map

  • The map: Map.java + MapController.java
    Those two files will be certainly merged in just Map.java
    They handle the Mapbox API.

  • PluginLayout.java
    Responsible to arrange the views to have a webview overlay (cf google map plugin wiki)

Remaining

  • iOS conversion (Swift is a good idea, but what about the futur version ? Is there any risk of retro incompatibility? I heard major swift versions are not compatible)
  • Unit test
  • Docs
  • Finish multi maps (the overlay touch part)
  • A better UI demo
  • MarkerCallbacks per marker.

Here it is. Is the direction I took is OK for you?

from mapbox.

risinghero avatar risinghero commented on July 18, 2024

Hi @dagatsoin

Swift is a good idea, but what about the futur version ? Is there any risk of retro incompatibility? I heard major swift versions are not compatible

Yes there is although they promised to make full binary compatibility in next major release.
But I think transition to swift worth this risk as coding will become much simpler (as well as studying iOS code). And amount of iOS code will decrease significantly.

from mapbox.

dagatsoin avatar dagatsoin commented on July 18, 2024

Guidance: what do you mean by guidance? Maybe a more detailed doc? On which part exactly?

Swift: OK let do it! Always wanted to try it!

from mapbox.

risinghero avatar risinghero commented on July 18, 2024

I mean that you' ve done a lot of work and very large piece of functionality.
For me the problem as I see is how to integrate you branch smoothly in master?
I don' t think that it can be done by one piece. Maybe @cusspvz have some ideas about integration.
What I want is to discuss step-by-step integration of your code in master.
To divide it in small pieces. Maybe you have ideas how it can be divided?

from mapbox.

dagatsoin avatar dagatsoin commented on July 18, 2024

Ok I see but I have not develop my PR for being integrated in the master branch. As a major release, it contains breaking changes both on the JS and native side.

I am not used to versioning management but I guess we should transfer my PR in a next branch and finally completely replace master branch when ready. @cusspvz your thoughts?

from mapbox.

warrenc5 avatar warrenc5 commented on July 18, 2024

I agree with dagatsoin - I suggest that the all these experimental MapBox PRs are merged into an experimental/unstableTelerik Branch here.
At least that will be a single integration point for all these changes & refactorings.
Great work so far.

from mapbox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.