-
Notifications
You must be signed in to change notification settings - Fork 10
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
Add a map for virtual beacons #340
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,6 +42,7 @@ | |
android:name=".notifications.NotificationService" | ||
android:enabled="true" | ||
android:exported="false"/> | ||
<service android:name="com.mapbox.mapboxsdk.telemetry.TelemetryService" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's this for? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's for mapbox telemetry. This is part of the settings process. I'm not sure if deactivating it can have side effects. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please do, I'm afraid of what legal reasons we will need to add in our side in order to use this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update? |
||
|
||
<receiver android:name=".notifications.ReceiverNotificationDelete"/> | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,8 @@ | |
import com.facebook.react.ReactNativeHost; | ||
import com.facebook.react.ReactPackage; | ||
import com.facebook.react.shell.MainReactPackage; | ||
import com.idehub.GoogleAnalyticsBridge.GoogleAnalyticsBridgePackage; | ||
import com.mapbox.reactnativemapboxgl.ReactNativeMapboxGLPackage; | ||
|
||
import java.util.Arrays; | ||
import java.util.List; | ||
|
@@ -28,7 +30,9 @@ protected boolean getUseDeveloperSupport() { | |
protected List<ReactPackage> getPackages() { | ||
return Arrays.<ReactPackage>asList( | ||
new MainReactPackage(), | ||
new GoogleAnalyticsBridgePackage(), | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Funky rebase issues? |
||
new LinearGradientPackage(), | ||
new ReactNativeMapboxGLPackage(), | ||
new MyAppPackage() | ||
); | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,7 +29,8 @@ | |
"about": "https://trymagnet.org", | ||
"privacy": "https://trymagnet.org/privacy/", | ||
"feedback": "https://trymagnet.org/#contact" | ||
} | ||
}, | ||
"mapboxAccessToken": "pk.eyJ1IjoiZ21hcnR5IiwiYSI6ImNpdm1lanB1azAwNm8yb3A0OXZ6bmUxM2oifQ.i2HycDMBdPoatAB-ONR6FQ" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Move this out of |
||
}, | ||
|
||
"itemExpires": 60000, | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#import <Foundation/Foundation.h> | ||
|
||
#import "MGLTypes.h" | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/** | ||
The MGLAccountManager object provides a global way to set a Mapbox API access | ||
token. | ||
*/ | ||
@interface MGLAccountManager : NSObject | ||
|
||
#pragma mark Authorizing Access | ||
|
||
/** | ||
Set the | ||
<a href="https://www.mapbox.com/help/define-access-token/">Mapbox access token</a> | ||
to be used by all instances of MGLMapView in the current application. | ||
|
||
Mapbox-hosted vector tiles and styles require an API access token, which you | ||
can obtain from the | ||
<a href="https://www.mapbox.com/studio/account/tokens/">Mapbox account page</a>. | ||
Access tokens associate requests to Mapbox’s vector tile and style APIs with | ||
your Mapbox account. They also deter other developers from using your styles | ||
without your permission. | ||
|
||
@param accessToken A Mapbox access token. Calling this method with a value of | ||
`nil` has no effect. | ||
|
||
@note You must set the access token before attempting to load any Mapbox-hosted | ||
style. Therefore, you should generally set it before creating an instance of | ||
MGLMapView. The recommended way to set an access token is to add an entry to | ||
your application’s Info.plist file with the key `MGLMapboxAccessToken` and | ||
the type String. Alternatively, you may call this method from your | ||
application delegate’s `-applicationDidFinishLaunching:` method. | ||
*/ | ||
+ (void)setAccessToken:(nullable NSString *)accessToken; | ||
|
||
/** | ||
Returns the | ||
<a href="https://www.mapbox.com/help/define-access-token/">Mapbox access token</a> | ||
in use by instances of MGLMapView in the current application. | ||
*/ | ||
+ (nullable NSString *)accessToken; | ||
|
||
+ (BOOL)mapboxMetricsEnabledSettingShownInApp __attribute__((deprecated("Telemetry settings are now always shown in the ℹ️ menu."))); | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#import <Foundation/Foundation.h> | ||
#import <CoreLocation/CoreLocation.h> | ||
#import <TargetConditionals.h> | ||
|
||
#import "MGLTypes.h" | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/** | ||
The `MGLAnnotation` protocol is used to provide annotation-related information | ||
to a map view. To use this protocol, you adopt it in any custom objects that | ||
store or represent annotation data. Each object then serves as the source of | ||
information about a single map annotation and provides critical information, | ||
such as the annotation’s location on the map. Annotation objects do not provide | ||
the visual representation of the annotation but typically coordinate (in | ||
conjunction with the map view’s delegate) the creation of an appropriate | ||
objects to handle the display. | ||
|
||
An object that adopts this protocol must implement the `coordinate` property. | ||
The other methods of this protocol are optional. | ||
*/ | ||
@protocol MGLAnnotation <NSObject> | ||
|
||
#pragma mark Position Attributes | ||
|
||
/** | ||
The center point (specified as a map coordinate) of the annotation. (required) | ||
(read-only) | ||
*/ | ||
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate; | ||
|
||
@optional | ||
|
||
#pragma mark Title Attributes | ||
|
||
/** | ||
The string containing the annotation’s title. | ||
|
||
Although this property is optional, if you support the selection of annotations | ||
in your map view, you are expected to provide this property. This string is | ||
displayed in the callout for the associated annotation. | ||
*/ | ||
@property (nonatomic, readonly, copy, nullable) NSString *title; | ||
|
||
/** | ||
The string containing the annotation’s subtitle. | ||
|
||
This string is displayed in the callout for the associated annotation. | ||
*/ | ||
@property (nonatomic, readonly, copy, nullable) NSString *subtitle; | ||
|
||
#if !TARGET_OS_IPHONE | ||
|
||
/** The string containing the annotation’s tooltip. */ | ||
@property (nonatomic, readonly, copy, nullable) NSString *toolTip; | ||
|
||
#endif | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#import <UIKit/UIKit.h> | ||
|
||
#import "MGLTypes.h" | ||
|
||
NS_ASSUME_NONNULL_BEGIN | ||
|
||
/** The MGLAnnotationImage class is responsible for presenting point-based annotations visually on a map view. Annotation image objects wrap `UIImage` objects and may be recycled later and put into a reuse queue that is maintained by the map view. */ | ||
@interface MGLAnnotationImage : NSObject | ||
|
||
#pragma mark Initializing and Preparing the Image Object | ||
|
||
/** | ||
Initializes and returns a new annotation image object. | ||
|
||
@param image The image to be displayed for the annotation. | ||
@param reuseIdentifier The string that identifies that this annotation image is reusable. | ||
@return The initialized annotation image object or `nil` if there was a problem initializing the object. | ||
*/ | ||
+ (instancetype)annotationImageWithImage:(UIImage *)image reuseIdentifier:(NSString *)reuseIdentifier; | ||
|
||
#pragma mark Getting and Setting Attributes | ||
|
||
/** The image to be displayed for the annotation. */ | ||
@property (nonatomic, strong, nullable) UIImage *image; | ||
|
||
/** | ||
The string that identifies that this annotation image is reusable. (read-only) | ||
|
||
You specify the reuse identifier when you create the image object. You use this type later to retrieve an annotation image object that was created previously but which is currently unused because its annotation is not on screen. | ||
|
||
If you define distinctly different types of annotations (with distinctly different annotation images to go with them), you can differentiate between the annotation types by specifying different reuse identifiers for each one. | ||
*/ | ||
@property (nonatomic, readonly) NSString *reuseIdentifier; | ||
|
||
/** | ||
A Boolean value indicating whether the annotation is enabled. | ||
|
||
The default value of this property is `YES`. If the value of this property is `NO`, the annotation image ignores touch events and cannot be selected. | ||
*/ | ||
@property (nonatomic, getter=isEnabled) BOOL enabled; | ||
|
||
@end | ||
|
||
NS_ASSUME_NONNULL_END |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason why we don't use default react-native
MapView
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default map component is iOS only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also I tried the react-native-maps by Airbnb that the React Native team recommends, but it ended up being a massive mess to set up and configure and it isn't even compatible with our Google Play Service version. So falling back to mapbox was the best solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, do you have any more info on the google-play-services issue?