Mapbox SDK Support
The Xweather iOS SDK fully supports the Mapbox GL SDK for use with your weather maps if your application uses Mapbox for its mapping library instead of Apple's MapKit.
The Xweather SDK abstracts away much of the interactions with the Mapbox SDK and other mapping libraries, so it's easy to change the library type just by using the appropriate
AWFWeatherMapType value when initializing your weather map instance. While much of the functionality is the same or very similar across all mapping libraries, there may be some differences due to limitations with a particular mapping library.
In order to use the Mapbox SDK with your weather maps, you will need to follow a similar process to that when initially installing the Xweather SDK into your project using one of the following methods:
AerisWeather/Mapboxpod to your
Podfilealongside the other . This will add the base AerisMapboxMapKit.framework and its core dependencies to your project, including the latest Mapbox SDK for iOS.
pod installfrom the Terminal at the root of your project where your
Once you have the AerisMapboxMapKit module installed in your project, just create your weather map instance specifying Mapbox as the map type:
weatherMap = AWFWeatherMap(mapType: .mapbox)
When using the Mapbox SDK with a weather map, the weather map and its internal objects must remain the sole delegate on the associated
MGLMapView instance. Therefore, you should NOT assign the
delegate method on your map view which will break the core weather map functionality.
Instead, just assign the
mapViewDelegate property on your
AWFWeatherMap instance to the object that should receive
MGLMapViewDelegate messages. These messages will get forwarded to the object assigned to this property by the weather map:
weatherMap.mapViewDelegate = self
Using mapping libraries other than Apple's MapKit may introduce limitations in what features or options are available for the third-party library. Currently, there are no known limitations when using the Mapbox SDK for iOS.