Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fast forward #3

Draft
wants to merge 151 commits into
base: fix/update-mapbox
Choose a base branch
from

Conversation

aamirki
Copy link

@aamirki aamirki commented Jan 26, 2022

No description provided.

Andrzej Przedecki and others added 30 commits December 19, 2020 08:45
* Update MapboxMapBuilder.java

disabled debug mode

* Models for offline structure.
Add mapbox offline dependency.

* Extract function for getting mapbox.

* Download region

* Handle downloading region stream.

* Download regions data.

* Delete region

* Fix:
- handle null metadata
- handle delete region that not exists in db

* WIP example

* Rename region.

* WIP

* Show offline map.

* refactor

* Update android dependencies.

* Fixes

* Working or iOS offline maps implementation

* Finished iOS offline maps implementation

* test dependencies from git

* add git dependencies

* change git urls to https

* Update MapboxMapController.java

* Update MapboxMapController.java

* Delete MapBoxUtils.java

* Update MapboxMapController.java

* Update MapboxMapBuilder.java

* Delete Flutter.podspec

* Update README.md

* Update README.md

* lint fix

* added utils

* downgraded gradle plugin

* Allow user to provide accessToken by flutter side.

* Fix

* rename downloadListOfRegions method

* fix json mapping progress

* revert method name changes

* rename getDownloadListOfRegions to getXYZ

* Use default accessToken from main()

* Corrections from review and merge to master (0.9.0)

* correcao

* CORRECTION

Co-authored-by: Jarosław Roliński <j.rolinski@fivedottwelve.com>
Co-authored-by: Patryk <p.kacperski@fivedottwelve.com>
Co-authored-by: Andrea Valenzano <andr3a689@gmail.com>
Co-authored-by: Damian Molinski <damian.molinski@fivedottwelve.com>
Co-authored-by: luis felipe de oliveira <loliveira@inspectos.com>
Co-authored-by: Luis Felipe de Oliveira <pro__felipe@hotmail.com>
* Fixes null reference in fullmap example

* Avoid white space when resizing map on web

When resizing the browser screen Flutter fires several resize events.
These events are properly propagated to the containing div, but not
always by the map. It appears Mapbox misses the last resize event.
Therefore, we fire a timer that will check for mismatching width/height
between mapbox and it's container and trigger an additonal resizing.
* fix UnsatisfiedLinkError

* fix UnsatisfiedLinkError Nexus 5X

* fix ios onSymbolTapped

* const LatLngQuad

Add const keyword to LatLngQuad so that is can be
instantiated as a constant in consuming projects.

* PlaceSource & Controller Cleanup

Rename the parameters in the controller to make it more explicit
which id you are passing along (source or layer).

Improve the PlaceSource example by using static source & layer
ids which should help to make it more obvious what you are dealing
with (source vs layer).

* Pass on imageSource- & imageLayerId

Instead of having parameters called name when communicating
with the native world. Use imageLayerId & imageSourceId to make
it more explicit what we are dealing with.

* Introduce addLayerBelow

Support adding layers below other layers for more fine-grained
control as to where your image source ends up.

Co-authored-by: Andrea Valenzano <andr3a689@gmail.com>
* fix UnsatisfiedLinkError

* fix UnsatisfiedLinkError Nexus 5X
When `screenPoint` is built from the unmarshalled arguments, the `y`
value is written to both the `x` and `y` fields of `GCPoint`, causing an
incorrect coordinate value to be calculated and returned.
When animating to a new camera position, the final resting position of
the camera is generally not received in a `camera#onMove` callback. The
latest camera position known to the flutter-mapbox-gl framework and the
underlying mapbox-gl framework is therefore out of sync, until the next
time the camera is moved. This same issue would exist when the camera is
moved with a swipe, but it's less prominent since the camera is not
moving as quickly.

The `camera#onIdle` callback is a good place to update the camera
position, since it is at rest and no longer moving. This insures that
the framework has an accurate camera position if the client application
requests one from its own `onCameraIdle` callback, or atany other time
between camera moves.
When `deselectStyleAnnotation` is called synchronously in this delegate
callback, the operation silently fails and the selected appearance for
the annotation (typically, a blue tinted overlay) remains. This is an
unexpected state, since the flutter-mapbox-gl wrapper does not track
annotation selection and has no way to remove it. If the annotation
itself is removed, the selection remains visible on the map.

If we call `deselectStyleAnnotation` asynchronously, the selection is
removed as expected an is not visible to the user as a tinted overlay.
* Show `UserLocation` type

Objects of this type are returned by framework methods, but client code
and not refer to the type currently.

* Add heading to UserLocation

While UserLocation includes a "bearing" (also called "course")
indicating the direction of travel, it does not expose the heading of
the device. Since this information is already provided in the `didUpdate
userLocation` delegate method, we can add it to the `UserLocation`
payload for a trivial cost at runtime.
* Add annotation order on ios side

* Add annotation order on Android side

* Add annotation order on dart side

* Add an annotation order page example

* Add another safety check

* Change polygone naming to fill

Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com>
* [offline][android] use region ids provided by MB + code cleanup

 - Merge `downloadOfflineRegion` and `downloadOfflineRegionStream`
   - change format of args from single json string to obj with `accessToken`,
   `channelName`, and `region` keys
 - Do not store region id in metadata as this is unnecessary
 - Perform `deleteOfflineRegion` based on ID given by mapbox at creation
 time rather than arbitrarily self-assigned id
 - Return `OfflineRegionData` result from the created `OfflineRegion`
 upon callback of `onCreate` in `createOfflineRegion` (needed to
 pass back ID to dart)

Considered but not implemented mostly because of lack of iOS resources:
 - Restructure `OfflineRegionData`(native)/`OfflineRegion`(dart) classes
 into `OfflineRegionDefinition` and `OfflineRegion` classes to mirror
 SDK class structure.
 - Accept `OfflineRegionDefinition` as arg to `downloadOfflineRegion`,
 and return `OfflineRegion` as a result

* Small fixes

* Fix long id type conversion

* Fix copy signature

Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com>
…lute path (#520)

* iOS: Allow absolute path at styleString

* Android: Allow absolute path at styleString

Additional: change deprecated deprecated "fromUrl" method to "fromUri" (https://docs.mapbox.com/archive/android/maps/api/9.3.0/com/mapbox/mapboxsdk/maps/Style.Builder.html#fromUrl-java.lang.String-)

* Add local style example

* Add "style as absolute path" instruction into README

Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com>
* added web supoort for fills

* added capture for drag start

* changed translateFill to expect a delta vector

* removed somewhat redundant comment

* updated readme

Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com>
* [web] Fix build failure due to http package upgrade

* No need to pin http package version
…with iOS and Android (#545)

* Handled updated downloadOfflineRegion interface

The interface has changed to send region as a argument, as well as the
channelName. Without this change, the region download fails.

Fixes #534

* Generate offline region IDs and adapt interfaces

While the Android SDK generates a region ID in createOfflineRegion, the
iOS SDK does not have this feature. To maintain a parallel interface and
relieve the client of the need to generate IDs, this change generates an
ID before submitting the download request to the iOS SDK. As in the
Android implementation, the completed OfflineRegionData is immediately
returned through the open channel.

Fixes #533

The following changes suggested in #491 are also pursued here:

* Restructure OfflineRegionData(native)/OfflineRegion(dart) classes into
  OfflineRegionDefinition and OfflineRegion classes to mirror SDK class
  structure. This is basically equivalient to something like
  OfflineRegionOptions.
* Accept OfflineRegionDefinition as an arg to downloadOfflineRegion, and
  return OfflineRegion as a result

Without those changes, the client code is `@required` to submit an id
along with the original download request, even though the id will not be
used and will be replaced by the generated ID. Furthermore, the object
returned from `downloadOfflineRegion` is now decoded so that the client
can await it to extract the generated ID.

I also made the properties of the definition and data classes immutable
on the iOS side, and renamed values dealing with the downloaded pack
context from "metadata" to "context". This is because the context is no
longer just the user-supplied metadata; it is a structure separately
holding the metadata and generated ID.

This change is not backwards compatible with regions previously
downloaded on iOS, however, offline downloading is not functional in the
latest or any release of this library because of #534.

* OfflineRegion and OfflineRegionDefinition

To better harmonize with the Mapbox sdk data structures for offline
regions on iOS and Android, and to pave the way for polygonal offline
regions, the dart classes are revamped in 71186fb. This required changes
on the Android side which are also in this PR, and it will require changes
in any client code using the download functionality.
* Change SDK version of example

* Add toScreenLocationBatch

* Add custom marker example
…click area management) (#575)

* AnnotationClickOrder working (not order but activation/desactivation)

* Switch to annotationConsumeTapEvents method
felix-ht and others added 30 commits March 25, 2022 14:14
* fix for LocationComponent update issue

* refactoring
* OkHttpclient

* Allows changing http headers.

* Allows changing http headers.

* dart & swift formatting

* java formatting

* java formatting

* fixed java format

Co-authored-by: Tolga Guler <tolga.guler@netcad.com.tr>
Co-authored-by: Felix Horvat <felix.horvat@ocell.aero>
* Added docs for running example code on iOS

* Updated running example code docs
Resized screenshot
Added index to Readme
* Android implementation

* ios & web implementation

* _onFeatureDrag example

* swift format

* ios & android code formatting

* prints removed

* typo fixed

Co-authored-by: Tolga Guler <tolga.guler@netcad.com.tr>
* Improved map resizing

* Added functionality to trigger the map resize event from outside the package

* Fixed pipeline
* refactor and fix ci the file
* add makefile for formatting and installing formatting tools
* android impl

* take snapshot ios

* config for each platform interface

* take snapshot in ios

* take snap in android && example

* android hybrid composition

* ios test

* test with android hybrid composition

* Update README.md

* use JPG instead of PNG with writeToDisk option & remove unused funtions

* render example result with base64 option

* remove team ID in example

* iOS: use JPG instead of PNG

* rename funtion

* test flutter ci

* test ci

* ci: check swift formatting

* ci: test check java formatting

* ci: check java formatting

* ci: test check java formatting

* document for take snapshot feature

* revert ci config

* migration: jpeg with base64 option

* docs: web support

* feat: web support with base64 option

* ci: test github ci

* lint: ignore unnecessary_import

* ci: reverse config
* Ugly workaround for disposal crash with flutter3

* Fixed linter errors

* Fixed formatting issues

* Parameters for hybrid composition and delayed disposal

* Fixing bad merge

* Added useDelayedDisposal note to README

* Warning message on using useDelayedDisposal

* Fixed linter errors for flutter 2.10

* Fixed formatting

Co-authored-by: Simon Irmančnik <simon@naviter.com>
…1187)

* fix: can not find path when run script in macOS & nested dart types errors

* fix: can not sync project

* feat: support heatmap layer

* feat: support heatmap layer

* feat: support heatmap layer

* feat: support heatmap layer

* local pbxproj

* fix: error when not await future setSymboAllowOverlap in example

* fix: error when not await future setSymboAllowOverlap in example

* add fill extrusion example

* fix: error generate code swift template with snake case

* migration: edit swift template & add ios rename props

* feat: support fill extrusion layer

* ci: run jobs

* docs: support fill extrusion layer

* docs: support fill extrusion layer

* refactor codegen

* add update image source example

* feat: update image for image source

* remove xcode teamid
* Backwards compatibility for delayed disposal in flutter 2.x

* Backwards compatible TextureAndroidViewController with support for size in create method

* Formatting cleanup

Co-authored-by: Simon Irmančnik <simon@naviter.com>
Co-authored-by: Aaron S Kennedy <36516690+aaronsamkennedy@users.noreply.github.com>
* enable texture mode to fix black screens

* run make format

Co-authored-by: Thijs van der Burgt <thijs.van.der.burgt@be-mobile.com>
* fix flutter crash

* fix crash

* fix format

* refactoring
Co-authored-by: Simon Irmančnik <simon@naviter.com>
* fixed crash caused be race condition in layer deletion

* better layer ids for annotations

* added overlap button to example
* Implementation of toggling layer visibility

* Added documentation to setVisibility, added check if layerId exists

* Fixed linter errors

Co-authored-by: Simon Irmančnik <simon@naviter.com>
* fix swift CGRect constructor for query in rect

* make formating changes

---------

Co-authored-by: Aaron S Kennedy <36516690+aaronsamkennedy@users.noreply.github.com>
* add dispose guard

* fix ci
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet