Maps: 8.0.0 Release and upcoming breaking changes

Created on 10 Jan 2020  路  20Comments  路  Source: react-native-mapbox-gl/maps

Here is a list of proposed breaking changes that I'd like to get into an 8.0.0 release. Feel free to add your thoughts and other breaking changes you'd like included in the next major release.

1) Make all Geoutils private

Reason: Geoutils started out as internal tools for transformations, but were exported to simplify development of the examples. Geoutils are quite specific and do not provide good enough general utility. We see this as users are asking for extensions and/or changes to these utils. Our goal is not to maintain generic geoutils, and as such we should point our users towards turf.js and make these utils private.

Consequence: Those who are using geoutils needs to find equivalent utils from turf.js. Examples needs to be updated to only use turf.js. At the same run, we should update all turf.js deps, as some are using old references.

2) Migrate iOS SDK to install via Cocoapods

Reason: React Native has embraced Cocoapods. Our current download process is suboptimal and suffers outage issues at times, so it makes much more sense for us to use pods now. This also allows RNMGL to coexist with mapbox-navigation-sdk and lays the groundwork for development of a RN Navigation SDK.

Consequence: Install instructions needs to be updated. Users with embedded installs need remove these SDKs manually. Unknown how this will work with Carthage users. Anyone not using Cocoapods yet will need to start using it.

3) Migrate to Android X

Reason: React Native has moved to AndroidX. We should follow so our users doesn't need to use a forward Jetifier.

4) Refactor Images
Reason: Images introduced in 7.0 deprecating SymbolLayer#images. We'll now remove and exctract images related code to its own Images component

Consequence: No SymbolLayer#images any more.

Consequence: Support for RN < 0.60 will be dropped.

  • [x] AndroidX #658
  • [x] Cocoapods #637
  • [x] Images refactor #664
  • [x] Make geoutils private #688
Discussion

Most helpful comment

I've released 8.0.0-beta to npm

All 20 comments

Hello there 馃憢

I just started adding this tool to my company's project. Is there an estimated date for production release?

Hey,

no eta on the entire thing, but the cocoa pods change is landing today. In general you should have no issues going from 7.2.0 (coming today) to 8.X as long as you are on RN60+, use jetifier on Android and don鈥檛 use geoutils.

If time allows I'd also remote images attribute from ShapeSource (which we've deprecated in 7.0) and make Images a real component backed by it's own native component not a hack of ShapeSource, extracting image handling part from RCTMGLShapeSource

AndroidX and Images are merged to master.

Hey! Any plans to support MGLOpenGLStyleLayer? Thank you!

Hey! Any plans to support MGLOpenGLStyleLayer? Thank you!

Nope. Of course if there is a PR we're happy to merge. See #67

I'd also like to change VectorSource and ShapeSource #onPress from:

onPress(e) {
    const feature = e.nativeEvent.payload;
    ...
}

to

onPress({features, coordinates, point}) {
    ...
}

This allows all the features to be passed (in case there was multiple features found at the point of press) also we can pass more info like screen and lat lng coordinates of tap.

See #700

Is there any way to use jest with maps, before this release? It looks like the docs on the frontpage apply to 8.

I thinks most of what we wanted from 8.0 is there. I think we could do a beta or event rc build

@kristfal if you agree can you do a release?!

We'd love to test version 8. What's the status of being able to use version 8 without use_frameworks currently?

https://github.com/react-native-mapbox-gl/maps/issues/635#issuecomment-578391216

Hoping there's a static framework option for those of us with use_frameworks incompatibilities.

@systemlevel AFAIK there was no effort to allow it to be used without use_frameworks!.

I've released 8.0.0-beta to npm

@systemlevel there is a PR #714 which offers a workaround for use_frameworks! please test

will latest version support react-native v0.59.10 or not?

@ansarikhurshid786 8.0.0 is AndroidX so RN 0.60+, but you might get it running using jetifier in reverse mode.

See https://github.com/mikehardy/jetifier#to-reverse-jetify--convert-node_modules-dependencies-to-support-libraries

Thanks, i will check with jetifier.

I am getting error :
Unable to find a matching configuration of project :@react-native-mapbox-gl_maps:

can you please help me

Hi all, first off thank you so much for you hard work on this awesome project! Looking forward to using Mapbox GL + React Native 馃

I just wanted to leave a quick comment that I followed the Installation + Getting Started steps and ran into a few issues getting the sample code to run.

  1. I think cd ios && pod install might be missing from the install step.
  2. The app was crashing for me on start, which I fixed by following the instructions at #714. However, I wouldn't have known to add that line to my Podfile.

Sorry if these are already known issues with the documentation - but just wanted to give my feedback as a newcomer.

Thanks you!

Sorry @mfazekas, I must have read through too fast 馃槃 Thank you!

Was this page helpful?
0 / 5 - 0 ratings