Fixed Cocoapods build with many hacks
10
mobile/ios/DeightonAR.xcworkspace/contents.xcworkspacedata
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:DeightonAR.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -18,7 +18,8 @@
|
||||
// RNM: react-native-maps
|
||||
// See https://developers.google.com/maps/documentation/ios-sdk/start
|
||||
// and https://gist.github.com/dmachat/412658416dc7dcf3f7a829b7a10c2583
|
||||
@import GoogleMaps;
|
||||
// Uncomment for Google Maps support
|
||||
//@import GoogleMaps;
|
||||
|
||||
#import <VRTBundleURLProvider.h>
|
||||
|
||||
@@ -34,7 +35,8 @@
|
||||
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
|
||||
}
|
||||
*/
|
||||
[GMSServices provideAPIKey:@"AIzaSyDN4E_vzO4cKjKHkMg_49hX1GBnU34kx4U"];
|
||||
// RNM: Uncomment for Google Maps support
|
||||
// [GMSServices provideAPIKey:@"AIzaSyDN4E_vzO4cKjKHkMg_49hX1GBnU34kx4U"];
|
||||
|
||||
NSURL *jsCodeLocation;
|
||||
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
//
|
||||
// GMSAddress.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2014 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import GoogleMapsBase;
|
||||
#else
|
||||
#import <GoogleMapsBase/GoogleMapsBase.h>
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* A result from a reverse geocode request, containing a human-readable address. This class is
|
||||
* immutable and should be obtained via GMSGeocoder.
|
||||
*
|
||||
* Some of the fields may be nil, indicating they are not present.
|
||||
*/
|
||||
@interface GMSAddress : NSObject<NSCopying>
|
||||
|
||||
/** Location, or kLocationCoordinate2DInvalid if unknown. */
|
||||
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
|
||||
|
||||
/** Street number and name. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *thoroughfare;
|
||||
|
||||
/** Locality or city. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *locality;
|
||||
|
||||
/** Subdivision of locality, district or park. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *subLocality;
|
||||
|
||||
/** Region/State/Administrative area. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *administrativeArea;
|
||||
|
||||
/** Postal/Zip code. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *postalCode;
|
||||
|
||||
/** The country name. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *country;
|
||||
|
||||
/** An array of NSString containing formatted lines of the address. May be nil. */
|
||||
@property(nonatomic, copy, readonly, nullable) NSArray<NSString *> *lines;
|
||||
|
||||
/**
|
||||
* Returns the first line of the address.
|
||||
*/
|
||||
- (nullable NSString *)addressLine1 __GMS_AVAILABLE_BUT_DEPRECATED_MSG(
|
||||
"This method is obsolete and will be removed in a future release. Use the lines property "
|
||||
"instead.");
|
||||
|
||||
/**
|
||||
* Returns the second line of the address.
|
||||
*/
|
||||
- (nullable NSString *)addressLine2 __GMS_AVAILABLE_BUT_DEPRECATED_MSG(
|
||||
"This method is obsolete and will be removed in a future release. Use the lines property "
|
||||
"instead.");
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* The former type of geocode results (pre-1.7). This remains here for migration and will be
|
||||
* removed in future releases.
|
||||
*/
|
||||
@compatibility_alias GMSReverseGeocodeResult GMSAddress;
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,20 +0,0 @@
|
||||
//
|
||||
// GMSCALayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
/**
|
||||
* GMSCALayer is a superclass used by layers in the Google Maps SDK for iOS, such as GMSMapLayer and
|
||||
* GMSPanoramaLayer.
|
||||
*
|
||||
* This is an implementation detail and it should not be instantiated directly.
|
||||
*/
|
||||
@interface GMSCALayer : CALayer
|
||||
@end
|
||||
@@ -1,126 +0,0 @@
|
||||
//
|
||||
// GMSCameraPosition.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* An immutable class that aggregates all camera position parameters.
|
||||
*/
|
||||
@interface GMSCameraPosition : NSObject<NSCopying, NSMutableCopying>
|
||||
|
||||
/**
|
||||
* Location on the Earth towards which the camera points.
|
||||
*/
|
||||
@property(nonatomic, readonly) CLLocationCoordinate2D target;
|
||||
|
||||
/**
|
||||
* Zoom level. Zoom uses an exponentional scale, where zoom 0 represents the entire world as a
|
||||
* 256 x 256 square. Each successive zoom level increases magnification by a factor of 2. So at
|
||||
* zoom level 1, the world is 512x512, and at zoom level 2, the entire world is 1024x1024.
|
||||
*/
|
||||
@property(nonatomic, readonly) float zoom;
|
||||
|
||||
/**
|
||||
* Bearing of the camera, in degrees clockwise from true north.
|
||||
*/
|
||||
@property(nonatomic, readonly) CLLocationDirection bearing;
|
||||
|
||||
/**
|
||||
* The angle, in degrees, of the camera from the nadir (directly facing the Earth). 0 is
|
||||
* straight down, 90 is parallel to the ground. Note that the maximum angle allowed is dependent
|
||||
* on the zoom. You can think of it as a series of line segments as a function of zoom, rather
|
||||
* than a step function. For zoom 16 and above, the maximum angle is 65 degrees. For zoom 10 and
|
||||
* below, the maximum angle is 30 degrees.
|
||||
*/
|
||||
@property(nonatomic, readonly) double viewingAngle;
|
||||
|
||||
/**
|
||||
* Designated initializer. Configures this GMSCameraPosition with all available camera properties.
|
||||
* Building a GMSCameraPosition via this initializer (or by the following convenience constructors)
|
||||
* will implicitly clamp camera values.
|
||||
*
|
||||
* @param target Location on the earth towards which the camera points.
|
||||
* @param zoom The zoom level near the center of the screen.
|
||||
* @param bearing Bearing of the camera in degrees clockwise from true north.
|
||||
* @param viewingAngle The angle, in degrees, of the camera angle from the nadir (directly facing
|
||||
* the Earth)
|
||||
*/
|
||||
- (id)initWithTarget:(CLLocationCoordinate2D)target
|
||||
zoom:(float)zoom
|
||||
bearing:(CLLocationDirection)bearing
|
||||
viewingAngle:(double)viewingAngle;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSCameraPosition for a particular target and zoom level. This will
|
||||
* set the bearing and viewingAngle properties of this camera to zero defaults (i.e., directly
|
||||
* facing the Earth's surface, with the top of the screen pointing north).
|
||||
*/
|
||||
+ (instancetype)cameraWithTarget:(CLLocationCoordinate2D)target zoom:(float)zoom;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSCameraPosition, as per cameraWithTarget:zoom:.
|
||||
*/
|
||||
+ (instancetype)cameraWithLatitude:(CLLocationDegrees)latitude
|
||||
longitude:(CLLocationDegrees)longitude
|
||||
zoom:(float)zoom;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSCameraPosition, with all camera properties as per
|
||||
* initWithTarget:zoom:bearing:viewingAngle:.
|
||||
*/
|
||||
+ (instancetype)cameraWithTarget:(CLLocationCoordinate2D)target
|
||||
zoom:(float)zoom
|
||||
bearing:(CLLocationDirection)bearing
|
||||
viewingAngle:(double)viewingAngle;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSCameraPosition, with latitude/longitude and all other camera
|
||||
* properties as per initWithTarget:zoom:bearing:viewingAngle:.
|
||||
*/
|
||||
+ (instancetype)cameraWithLatitude:(CLLocationDegrees)latitude
|
||||
longitude:(CLLocationDegrees)longitude
|
||||
zoom:(float)zoom
|
||||
bearing:(CLLocationDirection)bearing
|
||||
viewingAngle:(double)viewingAngle;
|
||||
|
||||
/**
|
||||
* Get the zoom level at which |meters| distance, at given |coord| on Earth, correspond to the
|
||||
* specified number of screen |points|.
|
||||
*
|
||||
* For extremely large or small distances the returned zoom level may be smaller or larger than the
|
||||
* minimum or maximum zoom level allowed on the camera.
|
||||
*
|
||||
* This helper method is useful for building camera positions that contain specific physical areas
|
||||
* on Earth.
|
||||
*/
|
||||
+ (float)zoomAtCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
forMeters:(CLLocationDistance)meters
|
||||
perPoints:(CGFloat)points;
|
||||
|
||||
@end
|
||||
|
||||
/** Mutable version of GMSCameraPosition. */
|
||||
@interface GMSMutableCameraPosition : GMSCameraPosition
|
||||
@property(nonatomic, assign) CLLocationCoordinate2D target;
|
||||
@property(nonatomic, assign) float zoom;
|
||||
@property(nonatomic, assign) CLLocationDirection bearing;
|
||||
@property(nonatomic, assign) double viewingAngle;
|
||||
@end
|
||||
|
||||
/** The maximum zoom (closest to the Earth's surface) permitted by the map camera. */
|
||||
FOUNDATION_EXTERN const float kGMSMaxZoomLevel;
|
||||
|
||||
/** The minimum zoom (farthest from the Earth's surface) permitted by the map camera. */
|
||||
FOUNDATION_EXTERN const float kGMSMinZoomLevel;
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,109 +0,0 @@
|
||||
//
|
||||
// GMSCameraUpdate.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@class GMSCameraPosition;
|
||||
@class GMSCoordinateBounds;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSCameraUpdate represents an update that may be applied to a GMSMapView.
|
||||
*
|
||||
* It encapsulates some logic for modifying the current camera.
|
||||
*
|
||||
* It should only be constructed using the factory helper methods below.
|
||||
*/
|
||||
@interface GMSCameraUpdate : NSObject
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that zooms in on the map.
|
||||
*
|
||||
* The zoom increment is 1.0.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)zoomIn;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that zooms out on the map.
|
||||
*
|
||||
* The zoom increment is -1.0.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)zoomOut;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that changes the zoom by the specified amount.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)zoomBy:(float)delta;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that sets the zoom to the specified amount.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)zoomTo:(float)zoom;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that sets the camera target to the specified coordinate.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)setTarget:(CLLocationCoordinate2D)target;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that sets the camera target and zoom to the specified values.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)setTarget:(CLLocationCoordinate2D)target zoom:(float)zoom;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that sets the camera to the specified GMSCameraPosition.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)setCamera:(GMSCameraPosition *)camera;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that transforms the camera such that the specified bounds are centered
|
||||
* on screen at the greatest possible zoom level. The bounds will have a default padding of 64
|
||||
* points.
|
||||
*
|
||||
* The returned camera update will set the camera's bearing and tilt to their default zero values
|
||||
* (i.e., facing north and looking directly at the Earth).
|
||||
*/
|
||||
+ (GMSCameraUpdate *)fitBounds:(GMSCoordinateBounds *)bounds;
|
||||
|
||||
/**
|
||||
* This is similar to fitBounds: but allows specifying the padding (in points) in order to inset the
|
||||
* bounding box from the view's edges.
|
||||
*
|
||||
* If the requested |padding| is larger than the view size in either the vertical or horizontal
|
||||
* direction the map will be maximally zoomed out.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)fitBounds:(GMSCoordinateBounds *)bounds withPadding:(CGFloat)padding;
|
||||
|
||||
/**
|
||||
* This is similar to fitBounds: but allows specifying edge insets in order to inset the bounding
|
||||
* box from the view's edges.
|
||||
*
|
||||
* If the requested |edgeInsets| are larger than the view size in either the vertical or horizontal
|
||||
* direction the map will be maximally zoomed out.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)fitBounds:(GMSCoordinateBounds *)bounds
|
||||
withEdgeInsets:(UIEdgeInsets)edgeInsets;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that shifts the center of the view by the specified number of points in
|
||||
* the x and y directions. X grows to the right, Y grows down.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)scrollByX:(CGFloat)dX Y:(CGFloat)dY;
|
||||
|
||||
/**
|
||||
* Returns a GMSCameraUpdate that zooms with a focus point; the focus point stays fixed on screen.
|
||||
*/
|
||||
+ (GMSCameraUpdate *)zoomBy:(float)zoom atPoint:(CGPoint)point;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,54 +0,0 @@
|
||||
//
|
||||
// GMSCircle.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import "GMSOverlay.h"
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* A circle on the Earth's surface (spherical cap).
|
||||
*/
|
||||
@interface GMSCircle : GMSOverlay
|
||||
|
||||
/** Position on Earth of circle center. */
|
||||
@property(nonatomic, assign) CLLocationCoordinate2D position;
|
||||
|
||||
/** Radius of the circle in meters; must be positive. */
|
||||
@property(nonatomic, assign) CLLocationDistance radius;
|
||||
|
||||
/**
|
||||
* The width of the circle's outline in screen points. Defaults to 1. As per GMSPolygon, the width
|
||||
* does not scale when the map is zoomed.
|
||||
*
|
||||
* Setting strokeWidth to 0 results in no stroke.
|
||||
*/
|
||||
@property(nonatomic, assign) CGFloat strokeWidth;
|
||||
|
||||
/** The color of this circle's outline. The default value is black. */
|
||||
@property(nonatomic, strong, nullable) UIColor *strokeColor;
|
||||
|
||||
/**
|
||||
* The interior of the circle is painted with fillColor. The default value is nil, resulting in no
|
||||
* fill.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) UIColor *fillColor;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSCircle for a particular position and radius. Other properties will
|
||||
* have default values.
|
||||
*/
|
||||
+ (instancetype)circleWithPosition:(CLLocationCoordinate2D)position
|
||||
radius:(CLLocationDistance)radius;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,43 +0,0 @@
|
||||
//
|
||||
// GMSCoordinateBounds+GoogleMaps.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import GoogleMapsBase;
|
||||
#else
|
||||
#import <GoogleMapsBase/GoogleMapsBase.h>
|
||||
#endif
|
||||
|
||||
#import "GMSProjection.h"
|
||||
|
||||
@class GMSPath;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
@interface GMSCoordinateBounds (GoogleMaps)
|
||||
|
||||
/**
|
||||
* Inits with bounds that encompass |region|.
|
||||
*/
|
||||
- (id)initWithRegion:(GMSVisibleRegion)region;
|
||||
|
||||
/**
|
||||
* Inits with bounds that encompass |path|.
|
||||
*/
|
||||
- (id)initWithPath:(GMSPath *)path;
|
||||
|
||||
/**
|
||||
* Returns a GMSCoordinateBounds representing the current bounds extended to include |path|.
|
||||
*/
|
||||
- (GMSCoordinateBounds *)includingPath:(GMSPath *)path;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,74 +0,0 @@
|
||||
//
|
||||
// GMSGeocoder.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2012 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "GMSAddress.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
@class GMSReverseGeocodeResponse;
|
||||
|
||||
/**
|
||||
* \defgroup GeocoderErrorCode GMSGeocoderErrorCode
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* GMSGeocoder error codes, embedded in NSError.
|
||||
*/
|
||||
typedef NS_ENUM(NSInteger, GMSGeocoderErrorCode) {
|
||||
kGMSGeocoderErrorInvalidCoordinate = 1,
|
||||
kGMSGeocoderErrorInternal,
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
||||
/**
|
||||
* Handler that reports a reverse geocoding response, or error.
|
||||
*
|
||||
* @related GMSGeocoder
|
||||
*/
|
||||
typedef void (^GMSReverseGeocodeCallback)(GMSReverseGeocodeResponse *_Nullable,
|
||||
NSError *_Nullable);
|
||||
|
||||
/**
|
||||
* Exposes a service for reverse geocoding. This maps Earth coordinates (latitude and longitude) to
|
||||
* a collection of addresses near that coordinate.
|
||||
*/
|
||||
@interface GMSGeocoder : NSObject
|
||||
|
||||
/* Convenience constructor for GMSGeocoder. */
|
||||
+ (GMSGeocoder *)geocoder;
|
||||
|
||||
/**
|
||||
* Reverse geocodes a coordinate on the Earth's surface.
|
||||
*
|
||||
* @param coordinate The coordinate to reverse geocode.
|
||||
* @param handler The callback to invoke with the reverse geocode results.
|
||||
* The callback will be invoked asynchronously from the main thread.
|
||||
*/
|
||||
- (void)reverseGeocodeCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
completionHandler:(GMSReverseGeocodeCallback)handler;
|
||||
|
||||
@end
|
||||
|
||||
/** A collection of results from a reverse geocode request. */
|
||||
@interface GMSReverseGeocodeResponse : NSObject<NSCopying>
|
||||
|
||||
/** Returns the first result, or nil if no results were available. */
|
||||
- (nullable GMSAddress *)firstResult;
|
||||
|
||||
/** Returns an array of all the results (contains GMSAddress), including the first result. */
|
||||
- (nullable NSArray<GMSAddress *> *)results;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,243 +0,0 @@
|
||||
//
|
||||
// GMSGeometryUtils.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
/**
|
||||
* \defgroup GeometryUtils GMSGeometryUtils
|
||||
* @{
|
||||
*/
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "GMSPath.h"
|
||||
|
||||
@class GMSPath;
|
||||
@class GMSStrokeStyle;
|
||||
@class GMSStyleSpan;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Average Earth radius in meters. */
|
||||
static const CLLocationDistance kGMSEarthRadius = 6371009.0;
|
||||
|
||||
/**
|
||||
* A point on the map. May represent a projected coordinate.
|
||||
*
|
||||
* x is in [-1, 1]. The axis direction is normal: y grows towards North, x grows towards East. (0,
|
||||
* 0) is the center of the map.
|
||||
*
|
||||
* See GMSProject() and GMSUnproject().
|
||||
*/
|
||||
typedef struct GMSMapPoint {
|
||||
double x;
|
||||
double y;
|
||||
} GMSMapPoint;
|
||||
|
||||
/** Projects |coordinate| to the map. |coordinate| must be valid. */
|
||||
FOUNDATION_EXPORT
|
||||
GMSMapPoint GMSProject(CLLocationCoordinate2D coordinate);
|
||||
|
||||
/** Unprojects |point| from the map. point.x must be in [-1, 1]. */
|
||||
FOUNDATION_EXPORT
|
||||
CLLocationCoordinate2D GMSUnproject(GMSMapPoint point);
|
||||
|
||||
/**
|
||||
* Returns a linearly interpolated point on the segment [a, b], at the fraction |t| from |a|. |t|==0
|
||||
* corresponds to |a|, |t|==1 corresponds to |b|.
|
||||
*
|
||||
* The interpolation takes place along the short path between the points potentially crossing the
|
||||
* date line. E.g. interpolating from San Francisco to Tokyo will pass north of Hawaii and cross the
|
||||
* date line.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
GMSMapPoint GMSMapPointInterpolate(GMSMapPoint a, GMSMapPoint b, double t);
|
||||
|
||||
/**
|
||||
* Returns the length of the segment [a, b] in projected space.
|
||||
*
|
||||
* The length is computed along the short path between the points potentially crossing the date
|
||||
* line. E.g. the distance between the points corresponding to San Francisco and Tokyo measures the
|
||||
* segment that passes north of Hawaii crossing the date line.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
double GMSMapPointDistance(GMSMapPoint a, GMSMapPoint b);
|
||||
|
||||
/**
|
||||
* Returns whether |point| lies inside of path. The path is always considered closed, regardless of
|
||||
* whether the last point equals the first or not.
|
||||
*
|
||||
* Inside is defined as not containing the South Pole -- the South Pole is always outside.
|
||||
*
|
||||
* |path| describes great circle segments if |geodesic| is YES, and rhumb (loxodromic) segments
|
||||
* otherwise.
|
||||
*
|
||||
* If |point| is exactly equal to one of the vertices, the result is YES. A point that is not equal
|
||||
* to a vertex is on one side or the other of any path segment -- it can never be "exactly on the
|
||||
* border".
|
||||
*
|
||||
* See GMSGeometryIsLocationOnPath() for a border test with tolerance.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
BOOL GMSGeometryContainsLocation(CLLocationCoordinate2D point, GMSPath *path, BOOL geodesic);
|
||||
|
||||
/**
|
||||
* Returns whether |point| lies on or near |path|, within the specified |tolerance| in meters.
|
||||
* |path| is composed of great circle segments if |geodesic| is YES, and of rhumb (loxodromic)
|
||||
* segments if |geodesic| is NO.
|
||||
*
|
||||
* See also GMSGeometryIsLocationOnPath(point, path, geodesic).
|
||||
*
|
||||
* The tolerance, in meters, is relative to the spherical radius of the Earth. If you need to work
|
||||
* on a sphere of different radius, you may compute the equivalent tolerance from the desired
|
||||
* tolerance on the sphere of radius R: tolerance = toleranceR * (RadiusEarth / R), with
|
||||
* RadiusEarth==6371009.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
BOOL GMSGeometryIsLocationOnPathTolerance(CLLocationCoordinate2D point,
|
||||
GMSPath *path,
|
||||
BOOL geodesic,
|
||||
CLLocationDistance tolerance);
|
||||
|
||||
/**
|
||||
* Same as GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance), with a default tolerance
|
||||
* of 0.1 meters.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
BOOL GMSGeometryIsLocationOnPath(CLLocationCoordinate2D point, GMSPath *path, BOOL geodesic);
|
||||
|
||||
/**
|
||||
* Returns the great circle distance between two coordinates, in meters, on Earth.
|
||||
*
|
||||
* This is the shortest distance between the two coordinates on the sphere.
|
||||
*
|
||||
* Both coordinates must be valid.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
CLLocationDistance GMSGeometryDistance(CLLocationCoordinate2D from, CLLocationCoordinate2D to);
|
||||
|
||||
/**
|
||||
* Returns the great circle length of |path|, in meters, on Earth.
|
||||
*
|
||||
* This is the sum of GMSGeometryDistance() over the path segments.
|
||||
*
|
||||
* All the coordinates of the path must be valid.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
CLLocationDistance GMSGeometryLength(GMSPath *path);
|
||||
|
||||
/**
|
||||
* Returns the area of a geodesic polygon defined by |path| on Earth.
|
||||
*
|
||||
* The "inside" of the polygon is defined as not containing the South pole.
|
||||
*
|
||||
* If |path| is not closed, it is implicitly treated as a closed path nevertheless and the result is
|
||||
* the same.
|
||||
*
|
||||
* All coordinates of the path must be valid.
|
||||
*
|
||||
* The polygon must be simple (not self-overlapping) and may be concave.
|
||||
*
|
||||
* If any segment of the path is a pair of antipodal points, the result is undefined -- because two
|
||||
* antipodal points do not form a unique great circle segment on the sphere.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
double GMSGeometryArea(GMSPath *path);
|
||||
|
||||
/**
|
||||
* Returns the signed area of a geodesic polygon defined by |path| on Earth.
|
||||
*
|
||||
* The result has the same absolute value as GMSGeometryArea(); it is positive if the points of path
|
||||
* are in counter-clockwise order, and negative otherwise.
|
||||
*
|
||||
* The same restrictions as on GMSGeometryArea() apply.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
double GMSGeometrySignedArea(GMSPath *path);
|
||||
|
||||
/**
|
||||
* Returns the initial heading (degrees clockwise of North) at |from| of the shortest path to |to|.
|
||||
*
|
||||
* The returned value is in the range [0, 360).
|
||||
*
|
||||
* Returns 0 if the two coordinates are the same.
|
||||
*
|
||||
* Both coordinates must be valid.
|
||||
*
|
||||
* To get the final heading at |to| one may use (GMSGeometryHeading(|to|, |from|) + 180) modulo 360.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
CLLocationDirection GMSGeometryHeading(CLLocationCoordinate2D from, CLLocationCoordinate2D to);
|
||||
|
||||
/**
|
||||
* Returns the destination coordinate, when starting at |from| with initial |heading|, travelling
|
||||
* |distance| meters along a great circle arc, on Earth.
|
||||
*
|
||||
* The resulting longitude is in the range [-180, 180).
|
||||
*
|
||||
* Both coordinates must be valid.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
CLLocationCoordinate2D GMSGeometryOffset(CLLocationCoordinate2D from,
|
||||
CLLocationDistance distance,
|
||||
CLLocationDirection heading);
|
||||
|
||||
/**
|
||||
* Returns the coordinate that lies the given |fraction| of the way between the |from| and |to|
|
||||
* coordinates on the shortest path between the two.
|
||||
*
|
||||
* The resulting longitude is in the range [-180, 180).
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
CLLocationCoordinate2D GMSGeometryInterpolate(CLLocationCoordinate2D from,
|
||||
CLLocationCoordinate2D to,
|
||||
double fraction);
|
||||
|
||||
/**
|
||||
* Returns an NSArray of GMSStyleSpan constructed by repeated application of style and length
|
||||
* information from |styles| and |lengths| along |path|.
|
||||
*
|
||||
* |path| the path along which the output spans are computed.
|
||||
* |styles| an NSArray of GMSStrokeStyle. Wraps if consumed. Can't be empty.
|
||||
* |lengths| an NSArray of NSNumber; each entry gives the length of the corresponding
|
||||
* style from |styles|. Wraps if consumed. Can't be empty.
|
||||
* |lengthKind| the interpretation of values from |lengths| (geodesic, rhumb or projected).
|
||||
*
|
||||
* Example: a polyline with alternating black and white spans:
|
||||
*
|
||||
* <pre>
|
||||
* GMSMutablePath *path;
|
||||
* NSArray *styles = @[[GMSStrokeStyle solidColor:[UIColor whiteColor]],
|
||||
* [GMSStrokeStyle solidColor:[UIColor blackColor]]];
|
||||
* NSArray *lengths = @[@100000, @50000];
|
||||
* polyline.path = path;
|
||||
* polyline.spans = GMSStyleSpans(path, styles, lengths, kGMSLengthRhumb);
|
||||
* </pre>
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
NSArray<GMSStyleSpan *> *GMSStyleSpans(GMSPath *path,
|
||||
NSArray<GMSStrokeStyle *> *styles,
|
||||
NSArray<NSNumber *> *lengths,
|
||||
GMSLengthKind lengthKind);
|
||||
|
||||
/**
|
||||
* Similar to GMSStyleSpans(path, styles, lengths, lengthKind) but additionally takes an initial
|
||||
* length offset that will be skipped over relative to the |lengths| array.
|
||||
*
|
||||
* |lengthOffset| the length (e.g. in meters) that should be skipped initially from |lengths|.
|
||||
*/
|
||||
FOUNDATION_EXPORT
|
||||
NSArray<GMSStyleSpan *> *GMSStyleSpansOffset(GMSPath *path,
|
||||
NSArray<GMSStrokeStyle *> *styles,
|
||||
NSArray<NSNumber *> *lengths,
|
||||
GMSLengthKind lengthKind,
|
||||
double lengthOffset);
|
||||
|
||||
/**@}*/
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,85 +0,0 @@
|
||||
//
|
||||
// GMSGroundOverlay.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "GMSOverlay.h"
|
||||
|
||||
@class GMSCoordinateBounds;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSGroundOverlay specifies the available options for a ground overlay that exists on the Earth's
|
||||
* surface. Unlike a marker, the position of a ground overlay is specified explicitly and it does
|
||||
* not face the camera.
|
||||
*/
|
||||
@interface GMSGroundOverlay : GMSOverlay
|
||||
|
||||
/**
|
||||
* The position of this GMSGroundOverlay, or more specifically, the physical position of its anchor.
|
||||
* If this is changed, |bounds| will be moved around the new position.
|
||||
*/
|
||||
@property(nonatomic, assign) CLLocationCoordinate2D position;
|
||||
|
||||
/**
|
||||
* The anchor specifies where this GMSGroundOverlay is anchored to the Earth in relation to
|
||||
* |bounds|. If this is modified, |position| will be set to the corresponding new position within
|
||||
* |bounds|.
|
||||
*/
|
||||
@property(nonatomic, assign) CGPoint anchor;
|
||||
|
||||
/**
|
||||
* Icon to render within |bounds| on the Earth. If this is nil, the overlay will not be visible
|
||||
* (unlike GMSMarker which has a default image).
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) UIImage *icon;
|
||||
|
||||
/**
|
||||
* Sets the opacity of the ground overlay, between 0 (completely transparent) and 1 (default)
|
||||
* inclusive.
|
||||
*/
|
||||
@property(nonatomic, assign) float opacity;
|
||||
|
||||
/**
|
||||
* Bearing of this ground overlay, in degrees. The default value, zero, points this ground overlay
|
||||
* up/down along the normal Y axis of the earth.
|
||||
*/
|
||||
@property(nonatomic, assign) CLLocationDirection bearing;
|
||||
|
||||
/**
|
||||
* The 2D bounds on the Earth in which |icon| is drawn. Changing this value will adjust |position|
|
||||
* accordingly.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) GMSCoordinateBounds *bounds;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSGroundOverlay for a particular |bounds| and |icon|. Will set
|
||||
* |position| accordingly.
|
||||
*/
|
||||
+ (instancetype)groundOverlayWithBounds:(nullable GMSCoordinateBounds *)bounds
|
||||
icon:(nullable UIImage *)icon;
|
||||
|
||||
/**
|
||||
* Constructs a GMSGroundOverlay that renders the given |icon| at |position|, as if the image's
|
||||
* actual size matches camera pixels at |zoomLevel|.
|
||||
*/
|
||||
+ (instancetype)groundOverlayWithPosition:(CLLocationCoordinate2D)position
|
||||
icon:(nullable UIImage *)icon
|
||||
zoomLevel:(CGFloat)zoomLevel;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* The default position of the ground anchor of a GMSGroundOverlay: the center point of the icon.
|
||||
*/
|
||||
FOUNDATION_EXTERN const CGPoint kGMSGroundOverlayDefaultAnchor;
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,41 +0,0 @@
|
||||
//
|
||||
// GMSIndoorBuilding.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
@class GMSIndoorLevel;
|
||||
|
||||
/**
|
||||
* Describes a building which contains levels.
|
||||
*/
|
||||
@interface GMSIndoorBuilding : NSObject
|
||||
|
||||
/**
|
||||
* Array of GMSIndoorLevel describing the levels which make up the building.
|
||||
* The levels are in 'display order' from top to bottom.
|
||||
*/
|
||||
@property(nonatomic, strong, readonly) NSArray<GMSIndoorLevel *> *levels;
|
||||
|
||||
/**
|
||||
* Index in the levels array of the default level.
|
||||
*/
|
||||
@property(nonatomic, assign, readonly) NSUInteger defaultLevelIndex;
|
||||
|
||||
/**
|
||||
* If YES, the building is entirely underground and supports being hidden.
|
||||
*/
|
||||
@property(nonatomic, assign, readonly, getter=isUnderground) BOOL underground;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,66 +0,0 @@
|
||||
//
|
||||
// GMSIndoorDisplay.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class GMSIndoorBuilding;
|
||||
@class GMSIndoorLevel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Delegate for events on GMSIndoorDisplay. */
|
||||
@protocol GMSIndoorDisplayDelegate<NSObject>
|
||||
@optional
|
||||
|
||||
/**
|
||||
* Raised when the activeBuilding has changed. The activeLevel will also have already been updated
|
||||
* for the new building, but didChangeActiveLevel: will be raised after this method.
|
||||
*/
|
||||
- (void)didChangeActiveBuilding:(nullable GMSIndoorBuilding *)building;
|
||||
|
||||
/**
|
||||
* Raised when the activeLevel has changed. This event is raised for all changes, including
|
||||
* explicit setting of the property.
|
||||
*/
|
||||
- (void)didChangeActiveLevel:(nullable GMSIndoorLevel *)level;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* Provides ability to observe or control the display of indoor level data.
|
||||
*
|
||||
* Like GMSMapView, GMSIndoorDisplay may only be used from the main thread.
|
||||
*/
|
||||
@interface GMSIndoorDisplay : NSObject
|
||||
|
||||
/** GMSIndoorDisplay delegate */
|
||||
@property(nonatomic, weak, nullable) id<GMSIndoorDisplayDelegate> delegate;
|
||||
|
||||
/**
|
||||
* Provides the currently focused building, will be nil if there is no building with indoor data
|
||||
* currently under focus.
|
||||
*/
|
||||
@property(nonatomic, strong, readonly, nullable) GMSIndoorBuilding *activeBuilding;
|
||||
|
||||
/**
|
||||
* Provides and controls the active level for activeBuilding. Will be updated whenever
|
||||
* activeBuilding changes, and may be set to any member of activeBuilding's levels property. May
|
||||
* also be set to nil if the building is underground, to stop showing the building (the building
|
||||
* will remain active).
|
||||
*
|
||||
* Will always be nil if activeBuilding is nil.
|
||||
*
|
||||
* Any attempt to set it to an invalid value will be ignored.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) GMSIndoorLevel *activeLevel;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// GMSIndoorLevel.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* Describes a single level in a building.
|
||||
*
|
||||
* Multiple buildings can share a level - in this case the level instances will compare as equal,
|
||||
* even though the level numbers/names may be different.
|
||||
*/
|
||||
@interface GMSIndoorLevel : NSObject
|
||||
|
||||
/** Localized display name for the level, e.g. "Ground floor". */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *name;
|
||||
|
||||
/** Localized short display name for the level, e.g. "1". */
|
||||
@property(nonatomic, copy, readonly, nullable) NSString *shortName;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,110 +0,0 @@
|
||||
//
|
||||
// GMSMapLayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
#import "GMSCALayer.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/*
|
||||
* The following layer properties and constants describe the camera properties that may be animated
|
||||
* on the custom model layer of a GMSMapView with Core Animation. For simple camera control and
|
||||
* animation, please see the helper methods in GMSMapView+Animation.h, and the camera object
|
||||
* definition within GMSCameraPosition.h.
|
||||
*
|
||||
* Changing layer properties triggers an implicit animation, e.g.:-
|
||||
* mapView_.layer.cameraBearing = 20;
|
||||
*
|
||||
* An explicit animation, replacing the implicit animation, may be added after changing the
|
||||
* property, for example:
|
||||
* <pre>
|
||||
* CAMediaTimingFunction *curve = [CAMediaTimingFunction functionWithName:
|
||||
* kCAMediaTimingFunctionEaseInEaseOut];
|
||||
* CABasicAnimation *animation =
|
||||
* [CABasicAnimation animationWithKeyPath:kGMSLayerCameraBearingKey];
|
||||
* animation.duration = 2.0f;
|
||||
* animation.timingFunction = curve;
|
||||
* animation.toValue = @20;
|
||||
* [mapView_.layer addAnimation:animation forKey:kGMSLayerCameraBearingKey];
|
||||
* </pre>
|
||||
*
|
||||
* To control several implicit animations, Core Animation's transaction support may be used, for
|
||||
* example:
|
||||
* <pre>
|
||||
* [CATransaction begin];
|
||||
* [CATransaction setAnimationDuration:2.0f];
|
||||
* mapView_.layer.cameraBearing = 20;
|
||||
* mapView_.layer.cameraViewingAngle = 30;
|
||||
* [CATransaction commit];
|
||||
* </pre>
|
||||
*
|
||||
* Note that these properties are not view-based. Please see "Animating View and Layer Changes
|
||||
* Together" in the <a href="http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/AnimatingViews/AnimatingViews.html">
|
||||
* View Programming Guide for iOS</a>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* kGMSLayerCameraLatitudeKey ranges from [-85, 85], and values outside this range will be clamped.
|
||||
*
|
||||
* @related GMSMapLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerCameraLatitudeKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerCameraLongitudeKey ranges from [-180, 180), and values outside this range will be
|
||||
* wrapped to within this range.
|
||||
*
|
||||
* @related GMSMapLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerCameraLongitudeKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerCameraBearingKey ranges from [0, 360), and values are wrapped.
|
||||
*
|
||||
* @related GMSMapLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerCameraBearingKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerCameraZoomLevelKey ranges from [kGMSMinZoomLevel, kGMSMaxZoomLevel], and values are
|
||||
* clamped.
|
||||
*
|
||||
* @related GMSMapLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerCameraZoomLevelKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerCameraViewingAngleKey ranges from zero (i.e., facing straight down) and to between 30
|
||||
* and 45 degrees towards the horizon, depending on the model zoom level.
|
||||
*
|
||||
* @related GMSMapLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerCameraViewingAngleKey;
|
||||
|
||||
/**
|
||||
* GMSMapLayer is a custom subclass of CALayer, provided as the layer class on GMSMapView. This
|
||||
* layer should not be instantiated directly. It provides model access to the camera normally
|
||||
* defined on GMSMapView.
|
||||
*
|
||||
* Modifying or animating these properties will typically interrupt any current gesture on
|
||||
* GMSMapView, e.g., a user's pan or rotation. Similarly, if a user performs an enabled gesture
|
||||
* during an animation, the animation will stop 'in-place' (at the current presentation value).
|
||||
*/
|
||||
@interface GMSMapLayer : GMSCALayer
|
||||
@property(nonatomic, assign) CLLocationDegrees cameraLatitude;
|
||||
@property(nonatomic, assign) CLLocationDegrees cameraLongitude;
|
||||
@property(nonatomic, assign) CLLocationDirection cameraBearing;
|
||||
@property(nonatomic, assign) float cameraZoomLevel;
|
||||
@property(nonatomic, assign) double cameraViewingAngle;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,47 +0,0 @@
|
||||
//
|
||||
// GMSMapStyle.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2016 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSMapStyle holds details about a style which can be applied to a map.
|
||||
*
|
||||
* With style options you can customize the presentation of the standard Google map styles, changing
|
||||
* the visual display of features like roads, parks, and other points of interest. As well as
|
||||
* changing the style of these features, you can also hide features entirely. This means that you
|
||||
* can emphasize particular components of the map or make the map complement the content of your
|
||||
* app.
|
||||
*
|
||||
* For more information see: https://developers.google.com/maps/documentation/ios-sdk/styling
|
||||
*/
|
||||
@interface GMSMapStyle : NSObject
|
||||
|
||||
/**
|
||||
* Creates a style using a string containing JSON.
|
||||
*
|
||||
* Returns nil and populates |error| (if provided) if |style| is invalid.
|
||||
*/
|
||||
+ (nullable instancetype)styleWithJSONString:(NSString *)style
|
||||
error:(NSError *__autoreleasing _Nullable *)error;
|
||||
|
||||
/**
|
||||
* Creates a style using a file containing JSON.
|
||||
*
|
||||
* Returns nil and populates |error| (if provided) if |style| is invalid, the file cannot be read,
|
||||
* or the URL is not a file URL.
|
||||
*/
|
||||
+ (nullable instancetype)styleWithContentsOfFileURL:(NSURL *)fileURL
|
||||
error:(NSError *__autoreleasing _Nullable *)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,61 +0,0 @@
|
||||
//
|
||||
// GMSMapView+Animation.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import "GMSMapView.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSMapView (Animation) offers several animation helper methods.
|
||||
*
|
||||
* During any animation, retrieving the camera position through the camera property on GMSMapView
|
||||
* returns an intermediate immutable GMSCameraPosition. This camera position will typically
|
||||
* represent the most recently drawn frame.
|
||||
*/
|
||||
@interface GMSMapView (Animation)
|
||||
|
||||
/** Animates the camera of this map to |cameraPosition|. */
|
||||
- (void)animateToCameraPosition:(GMSCameraPosition *)cameraPosition;
|
||||
|
||||
/**
|
||||
* As animateToCameraPosition:, but changes only the location of the camera (i.e., from the current
|
||||
* location to |location|).
|
||||
*/
|
||||
- (void)animateToLocation:(CLLocationCoordinate2D)location;
|
||||
|
||||
/**
|
||||
* As animateToCameraPosition:, but changes only the zoom level of the camera.
|
||||
*
|
||||
* This value is clamped by [kGMSMinZoomLevel, kGMSMaxZoomLevel].
|
||||
*/
|
||||
- (void)animateToZoom:(float)zoom;
|
||||
|
||||
/**
|
||||
* As animateToCameraPosition:, but changes only the bearing of the camera (in degrees). Zero
|
||||
* indicates true north.
|
||||
*/
|
||||
- (void)animateToBearing:(CLLocationDirection)bearing;
|
||||
|
||||
/**
|
||||
* As animateToCameraPosition:, but changes only the viewing angle of the camera (in degrees). This
|
||||
* value will be clamped to a minimum of zero (i.e., facing straight down) and between 30 and 45
|
||||
* degrees towards the horizon, depending on the relative closeness to the earth.
|
||||
*/
|
||||
- (void)animateToViewingAngle:(double)viewingAngle;
|
||||
|
||||
/**
|
||||
* Applies |cameraUpdate| to the current camera, and then uses the result as per
|
||||
* animateToCameraPosition:.
|
||||
*/
|
||||
- (void)animateWithCameraUpdate:(GMSCameraUpdate *)cameraUpdate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,513 +0,0 @@
|
||||
//
|
||||
// GMSMapView.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2012 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import GoogleMapsBase;
|
||||
#else
|
||||
#import <GoogleMapsBase/GoogleMapsBase.h>
|
||||
#endif
|
||||
#if __has_feature(modules)
|
||||
@import GoogleMapsBase;
|
||||
#else
|
||||
#import <GoogleMapsBase/GoogleMapsBase.h>
|
||||
#endif
|
||||
#import "GMSMapLayer.h"
|
||||
#import "GMSUISettings.h"
|
||||
|
||||
@class GMSCameraPosition;
|
||||
@class GMSCameraUpdate;
|
||||
@class GMSCoordinateBounds;
|
||||
@class GMSIndoorDisplay;
|
||||
@class GMSMapLayer;
|
||||
@class GMSMapStyle;
|
||||
@class GMSMapView;
|
||||
@class GMSMarker;
|
||||
@class GMSOverlay;
|
||||
@class GMSProjection;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Delegate for events on GMSMapView. */
|
||||
@protocol GMSMapViewDelegate<NSObject>
|
||||
|
||||
@optional
|
||||
|
||||
/**
|
||||
* Called before the camera on the map changes, either due to a gesture, animation (e.g., by a user
|
||||
* tapping on the "My Location" button) or by being updated explicitly via the camera or a
|
||||
* zero-length animation on layer.
|
||||
*
|
||||
* @param gesture If YES, this is occuring due to a user gesture.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView willMove:(BOOL)gesture;
|
||||
|
||||
/**
|
||||
* Called repeatedly during any animations or gestures on the map (or once, if the camera is
|
||||
* explicitly set). This may not be called for all intermediate camera positions. It is always
|
||||
* called for the final position of an animation or gesture.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position;
|
||||
|
||||
/**
|
||||
* Called when the map becomes idle, after any outstanding gestures or animations have completed (or
|
||||
* after the camera has been explicitly set).
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position;
|
||||
|
||||
/**
|
||||
* Called after a tap gesture at a particular coordinate, but only if a marker was not tapped. This
|
||||
* is called before deselecting any currently selected marker (the implicit action for tapping on
|
||||
* the map).
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Called after a long-press gesture at a particular coordinate.
|
||||
*
|
||||
* @param mapView The map view that was tapped.
|
||||
* @param coordinate The location that was tapped.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Called after a marker has been tapped.
|
||||
*
|
||||
* @param mapView The map view that was tapped.
|
||||
* @param marker The marker that was tapped.
|
||||
* @return YES if this delegate handled the tap event, which prevents the map from performing its
|
||||
* default selection behavior, and NO if the map should continue with its default selection
|
||||
* behavior.
|
||||
*/
|
||||
- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called after a marker's info window has been tapped.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called after a marker's info window has been long pressed.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didLongPressInfoWindowOfMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called after an overlay has been tapped.
|
||||
*
|
||||
* This method is not called for taps on markers.
|
||||
*
|
||||
* @param mapView The map view that was tapped.
|
||||
* @param overlay The overlay that was tapped.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didTapOverlay:(GMSOverlay *)overlay;
|
||||
|
||||
/**
|
||||
* Called after a POI has been tapped.
|
||||
*
|
||||
* @param mapView The map view that was tapped.
|
||||
* @param placeID The placeID of the POI that was tapped.
|
||||
* @param name The name of the POI that was tapped.
|
||||
* @param location The location of the POI that was tapped.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView
|
||||
didTapPOIWithPlaceID:(NSString *)placeID
|
||||
name:(NSString *)name
|
||||
location:(CLLocationCoordinate2D)location;
|
||||
|
||||
/**
|
||||
* Called when a marker is about to become selected, and provides an optional custom info window to
|
||||
* use for that marker if this method returns a UIView.
|
||||
*
|
||||
* If you change this view after this method is called, those changes will not necessarily be
|
||||
* reflected in the rendered version.
|
||||
*
|
||||
* The returned UIView must not have bounds greater than 500 points on either dimension. As there
|
||||
* is only one info window shown at any time, the returned view may be reused between other info
|
||||
* windows.
|
||||
*
|
||||
* Removing the marker from the map or changing the map's selected marker during this call results
|
||||
* in undefined behavior.
|
||||
*
|
||||
* @return The custom info window for the specified marker, or nil for default
|
||||
*/
|
||||
- (nullable UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called when mapView:markerInfoWindow: returns nil. If this method returns a view, it will be
|
||||
* placed within the default info window frame. If this method returns nil, then the default
|
||||
* rendering will be used instead.
|
||||
*
|
||||
* @param mapView The map view that was pressed.
|
||||
* @param marker The marker that was pressed.
|
||||
* @return The custom view to display as contents in the info window, or nil to use the default
|
||||
* content rendering instead
|
||||
*/
|
||||
|
||||
- (nullable UIView *)mapView:(GMSMapView *)mapView markerInfoContents:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called when the marker's info window is closed.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didCloseInfoWindowOfMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called when dragging has been initiated on a marker.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didBeginDraggingMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called after dragging of a marker ended.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didEndDraggingMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called while a marker is dragged.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didDragMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called when the My Location button is tapped.
|
||||
*
|
||||
* @return YES if the listener has consumed the event (i.e., the default behavior should not occur),
|
||||
* NO otherwise (i.e., the default behavior should occur). The default behavior is for the
|
||||
* camera to move such that it is centered on the user location.
|
||||
*/
|
||||
- (BOOL)didTapMyLocationButtonForMapView:(GMSMapView *)mapView;
|
||||
|
||||
/**
|
||||
* Called when the My Location Dot is tapped.
|
||||
*
|
||||
* @param location The location of the user when the location dot was tapped.
|
||||
*/
|
||||
- (void)mapView:(GMSMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location;
|
||||
|
||||
/**
|
||||
* Called when tiles have just been requested or labels have just started rendering.
|
||||
*/
|
||||
- (void)mapViewDidStartTileRendering:(GMSMapView *)mapView;
|
||||
|
||||
/**
|
||||
* Called when all tiles have been loaded (or failed permanently) and labels have been rendered.
|
||||
*/
|
||||
- (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView;
|
||||
|
||||
/**
|
||||
* Called when map is stable (tiles loaded, labels rendered, camera idle) and overlay objects have
|
||||
* been rendered.
|
||||
*/
|
||||
- (void)mapViewSnapshotReady:(GMSMapView *)mapView;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* \defgroup MapViewType GMSMapViewType
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Display types for GMSMapView.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, GMSMapViewType) {
|
||||
/** Basic maps. The default. */
|
||||
kGMSTypeNormal GMS_SWIFT_NAME_2_0_3_0(Normal, normal) = 1,
|
||||
|
||||
/** Satellite maps with no labels. */
|
||||
kGMSTypeSatellite GMS_SWIFT_NAME_2_0_3_0(Satellite, satellite),
|
||||
|
||||
/** Terrain maps. */
|
||||
kGMSTypeTerrain GMS_SWIFT_NAME_2_0_3_0(Terrain, terrain),
|
||||
|
||||
/** Satellite maps with a transparent label overview. */
|
||||
kGMSTypeHybrid GMS_SWIFT_NAME_2_0_3_0(Hybrid, hybrid),
|
||||
|
||||
/** No maps, no labels. Display of traffic data is not supported. */
|
||||
kGMSTypeNone GMS_SWIFT_NAME_2_0_3_0(None, none),
|
||||
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
||||
/**
|
||||
* \defgroup FrameRate GMSFrameRate
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Rendering frame rates for GMSMapView.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, GMSFrameRate) {
|
||||
/** Use the minimum frame rate to conserve battery usage. */
|
||||
kGMSFrameRatePowerSave,
|
||||
|
||||
/**
|
||||
* Use a median frame rate to provide smoother rendering and conserve processing cycles.
|
||||
*/
|
||||
kGMSFrameRateConservative,
|
||||
|
||||
/**
|
||||
* Use the maximum frame rate for a device. For low end devices this will be 30 FPS,
|
||||
* for high end devices 60 FPS.
|
||||
*/
|
||||
kGMSFrameRateMaximum,
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
||||
/**
|
||||
* \defgroup MapViewPaddingAdjustmentBehavior GMSMapViewPaddingAdjustmentBehavior
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constants indicating how safe area insets are added to padding.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, GMSMapViewPaddingAdjustmentBehavior) {
|
||||
/** Always include the safe area insets in the padding. */
|
||||
kGMSMapViewPaddingAdjustmentBehaviorAlways,
|
||||
|
||||
/**
|
||||
* When the padding value is smaller than the safe area inset for a particular edge, use the safe
|
||||
* area value for layout, else use padding.
|
||||
*/
|
||||
kGMSMapViewPaddingAdjustmentBehaviorAutomatic,
|
||||
|
||||
/**
|
||||
* Never include the safe area insets in the padding. This was the behavior prior to version 2.5.
|
||||
*/
|
||||
kGMSMapViewPaddingAdjustmentBehaviorNever,
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
||||
/**
|
||||
* This is the main class of the Google Maps SDK for iOS and is the entry point for all methods
|
||||
* related to the map.
|
||||
*
|
||||
* The map should be instantiated via the convenience constructor [GMSMapView mapWithFrame:camera:].
|
||||
* It may also be created with the default [[GMSMapView alloc] initWithFrame:] method (wherein its
|
||||
* camera will be set to a default location).
|
||||
*
|
||||
* GMSMapView can only be read and modified from the main thread, similar to all UIKit objects.
|
||||
* Calling these methods from another thread will result in an exception or undefined behavior.
|
||||
*/
|
||||
@interface GMSMapView : UIView
|
||||
|
||||
/** GMSMapView delegate. */
|
||||
@property(nonatomic, weak, nullable) IBOutlet id<GMSMapViewDelegate> delegate;
|
||||
|
||||
/**
|
||||
* Controls the camera, which defines how the map is oriented. Modification of this property is
|
||||
* instantaneous.
|
||||
*/
|
||||
@property(nonatomic, copy) GMSCameraPosition *camera;
|
||||
|
||||
/**
|
||||
* Returns a GMSProjection object that you can use to convert between screen coordinates and
|
||||
* latitude/longitude coordinates.
|
||||
*
|
||||
* This is a snapshot of the current projection, and will not automatically update when the camera
|
||||
* moves. It represents either the projection of the last drawn GMSMapView frame, or; where the
|
||||
* camera has been explicitly set or the map just created, the upcoming frame. It will never be nil.
|
||||
*/
|
||||
@property(nonatomic, readonly) GMSProjection *projection;
|
||||
|
||||
/**
|
||||
* Controls whether the My Location dot and accuracy circle is enabled. Defaults to NO.
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isMyLocationEnabled) BOOL myLocationEnabled;
|
||||
|
||||
/**
|
||||
* If My Location is enabled, reveals where the user location dot is being drawn. If it is disabled,
|
||||
* or it is enabled but no location data is available, this will be nil. This property is
|
||||
* observable using KVO.
|
||||
*/
|
||||
@property(nonatomic, strong, readonly, nullable) CLLocation *myLocation;
|
||||
|
||||
/**
|
||||
* The marker that is selected. Setting this property selects a particular marker, showing an info
|
||||
* window on it. If this property is non-nil, setting it to nil deselects the marker, hiding the
|
||||
* info window. This property is observable using KVO.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) GMSMarker *selectedMarker;
|
||||
|
||||
/**
|
||||
* Controls whether the map is drawing traffic data, if available. This is subject to the
|
||||
* availability of traffic data. Defaults to NO.
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isTrafficEnabled) BOOL trafficEnabled;
|
||||
|
||||
/**
|
||||
* Controls the type of map tiles that should be displayed. Defaults to kGMSTypeNormal.
|
||||
*/
|
||||
@property(nonatomic, assign) GMSMapViewType mapType;
|
||||
|
||||
/**
|
||||
* Controls the style of the map.
|
||||
*
|
||||
* A non-nil mapStyle will only apply if mapType is Normal.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) GMSMapStyle *mapStyle;
|
||||
|
||||
/**
|
||||
* Minimum zoom (the farthest the camera may be zoomed out). Defaults to kGMSMinZoomLevel. Modified
|
||||
* with -setMinZoom:maxZoom:.
|
||||
*/
|
||||
@property(nonatomic, assign, readonly) float minZoom;
|
||||
|
||||
/**
|
||||
* Maximum zoom (the closest the camera may be to the Earth). Defaults to kGMSMaxZoomLevel. Modified
|
||||
* with -setMinZoom:maxZoom:.
|
||||
*/
|
||||
@property(nonatomic, assign, readonly) float maxZoom;
|
||||
|
||||
/**
|
||||
* If set, 3D buildings will be shown where available. Defaults to YES.
|
||||
*
|
||||
* This may be useful when adding a custom tile layer to the map, in order to make it clearer at
|
||||
* high zoom levels. Changing this value will cause all tiles to be briefly invalidated.
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isBuildingsEnabled) BOOL buildingsEnabled;
|
||||
|
||||
/**
|
||||
* Sets whether indoor maps are shown, where available. Defaults to YES.
|
||||
*
|
||||
* If this is set to NO, caches for indoor data may be purged and any floor currently selected by
|
||||
* the end-user may be reset.
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isIndoorEnabled) BOOL indoorEnabled;
|
||||
|
||||
/**
|
||||
* Gets the GMSIndoorDisplay instance which allows to observe or control aspects of indoor data
|
||||
* display.
|
||||
*/
|
||||
@property(nonatomic, strong, readonly) GMSIndoorDisplay *indoorDisplay;
|
||||
|
||||
/**
|
||||
* Gets the GMSUISettings object, which controls user interface settings for the map.
|
||||
*/
|
||||
@property(nonatomic, strong, readonly) GMSUISettings *settings;
|
||||
|
||||
/**
|
||||
* Controls the 'visible' region of the view. By applying padding an area around the edge of the
|
||||
* view can be created which will contain map data but will not contain UI controls.
|
||||
*
|
||||
* If the padding is not balanced, the visual center of the view will move as appropriate. Padding
|
||||
* will also affect the |projection| property so the visible region will not include the padding
|
||||
* area. GMSCameraUpdate fitToBounds will ensure that both this padding and any padding requested
|
||||
* will be taken into account.
|
||||
*
|
||||
* This property may be animated within a UIView-based animation block.
|
||||
*/
|
||||
@property(nonatomic, assign) UIEdgeInsets padding;
|
||||
|
||||
/**
|
||||
* Controls how safe area insets are added to the padding values. Like padding, safe area insets
|
||||
* position map controls such as the compass, my location button and floor picker within the device
|
||||
* safe area.
|
||||
*
|
||||
* Defaults to kGMSMapViewPaddingAdjustmentBehaviorAlways.
|
||||
*/
|
||||
@property(nonatomic, assign) GMSMapViewPaddingAdjustmentBehavior paddingAdjustmentBehavior;
|
||||
|
||||
/**
|
||||
* Defaults to YES. If set to NO, GMSMapView will generate accessibility elements for overlay
|
||||
* objects, such as GMSMarker and GMSPolyline.
|
||||
*
|
||||
* This property is as per the informal UIAcessibility protocol, except for the default value of
|
||||
* YES.
|
||||
*/
|
||||
@property(nonatomic) BOOL accessibilityElementsHidden;
|
||||
|
||||
/**
|
||||
* Accessor for the custom CALayer type used for the layer.
|
||||
*/
|
||||
@property(nonatomic, readonly, retain) GMSMapLayer *layer;
|
||||
|
||||
/**
|
||||
* Controls the rendering frame rate. Default value is kGMSFrameRateMaximum.
|
||||
*/
|
||||
@property(nonatomic, assign) GMSFrameRate preferredFrameRate;
|
||||
|
||||
/**
|
||||
* If not nil, constrains the camera target so that gestures cannot cause it to leave the specified
|
||||
* bounds.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) GMSCoordinateBounds *cameraTargetBounds;
|
||||
|
||||
/**
|
||||
* Builds and returns a GMSMapView, with a frame and camera target.
|
||||
*/
|
||||
+ (instancetype)mapWithFrame:(CGRect)frame camera:(GMSCameraPosition *)camera;
|
||||
|
||||
/**
|
||||
* Tells this map to power up its renderer. This is optional and idempotent.
|
||||
*/
|
||||
- (void)startRendering __GMS_AVAILABLE_BUT_DEPRECATED_MSG(
|
||||
"This method is obsolete and will be removed in a future release.");
|
||||
|
||||
/**
|
||||
* Tells this map to power down its renderer. This is optional and idempotent.
|
||||
*/
|
||||
- (void)stopRendering __GMS_AVAILABLE_BUT_DEPRECATED_MSG(
|
||||
"This method is obsolete and will be removed in a future release.");
|
||||
|
||||
/**
|
||||
* Clears all markup that has been added to the map, including markers, polylines and ground
|
||||
* overlays. This will not clear the visible location dot or reset the current mapType.
|
||||
*/
|
||||
- (void)clear;
|
||||
|
||||
/**
|
||||
* Sets |minZoom| and |maxZoom|. This method expects the minimum to be less than or equal to the
|
||||
* maximum, and will throw an exception with name NSRangeException otherwise.
|
||||
*/
|
||||
- (void)setMinZoom:(float)minZoom maxZoom:(float)maxZoom;
|
||||
|
||||
/**
|
||||
* Build a GMSCameraPosition that presents |bounds| with |padding|. The camera will have a zero
|
||||
* bearing and tilt (i.e., facing north and looking directly at the Earth). This takes the frame and
|
||||
* padding of this GMSMapView into account.
|
||||
*
|
||||
* If the bounds is invalid this method will return a nil camera.
|
||||
*/
|
||||
- (nullable GMSCameraPosition *)cameraForBounds:(GMSCoordinateBounds *)bounds
|
||||
insets:(UIEdgeInsets)insets;
|
||||
|
||||
/**
|
||||
* Changes the camera according to |update|. The camera change is instantaneous (with no animation).
|
||||
*/
|
||||
- (void)moveCamera:(GMSCameraUpdate *)update;
|
||||
|
||||
/**
|
||||
* Check whether the given camera positions would practically cause the camera to be rendered the
|
||||
* same, taking into account the level of precision and transformations used internally.
|
||||
*/
|
||||
- (BOOL)areEqualForRenderingPosition:(GMSCameraPosition *)position
|
||||
position:(GMSCameraPosition *)otherPosition;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* Accessibility identifier for the compass button.
|
||||
*
|
||||
* @related GMSMapView
|
||||
*/
|
||||
extern NSString *const kGMSAccessibilityCompass;
|
||||
|
||||
/**
|
||||
* Accessibility identifier for the "my location" button.
|
||||
*
|
||||
* @related GMSMapView
|
||||
*/
|
||||
extern NSString *const kGMSAccessibilityMyLocation;
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,179 +0,0 @@
|
||||
//
|
||||
// GMSMarker.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2012 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "GMSOverlay.h"
|
||||
|
||||
@class GMSMarkerLayer;
|
||||
@class GMSPanoramaView;
|
||||
@class UIImage;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* \defgroup MarkerAnimation GMSMarkerAnimation
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Animation types for GMSMarker.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, GMSMarkerAnimation) {
|
||||
/** No animation (default). */
|
||||
kGMSMarkerAnimationNone = 0,
|
||||
|
||||
/** The marker will pop from its groundAnchor when added. */
|
||||
kGMSMarkerAnimationPop,
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
||||
/**
|
||||
* A marker is an icon placed at a particular point on the map's surface. A marker's icon is drawn
|
||||
* oriented against the device's screen rather than the map's surface; i.e., it will not necessarily
|
||||
* change orientation due to map rotations, tilting, or zooming.
|
||||
*/
|
||||
@interface GMSMarker : GMSOverlay
|
||||
|
||||
/** Marker position. Animated. */
|
||||
@property(nonatomic, assign) CLLocationCoordinate2D position;
|
||||
|
||||
/** Snippet text, shown beneath the title in the info window when selected. */
|
||||
@property(nonatomic, copy, nullable) NSString *snippet;
|
||||
|
||||
/**
|
||||
* Marker icon to render. If left nil, uses a default SDK place marker.
|
||||
*
|
||||
* Supports animated images, but each frame must be the same size or the behavior is undefined.
|
||||
*
|
||||
* Supports the use of alignmentRectInsets to specify a reduced tap area. This also redefines how
|
||||
* anchors are specified. For an animated image the value for the animation is used, not the
|
||||
* individual frames.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) UIImage *icon;
|
||||
|
||||
/**
|
||||
* Marker view to render. If left nil, falls back to the |icon| property instead.
|
||||
*
|
||||
* Supports animation of all animatable properties of UIView, except |frame| and |center|. Changing
|
||||
* these properties or their corresponding CALayer version, including |position|, is not supported.
|
||||
*
|
||||
* Note that the view behaves as if |clipsToBounds| is set to YES, regardless of its actual value.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) UIView *iconView;
|
||||
|
||||
/**
|
||||
* Controls whether the icon for this marker should be redrawn every frame.
|
||||
*
|
||||
* Note that when this changes from NO to YES, the icon is guaranteed to be redrawn next frame.
|
||||
*
|
||||
* Defaults to YES.
|
||||
* Has no effect if |iconView| is nil.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL tracksViewChanges;
|
||||
|
||||
/**
|
||||
* Controls whether the info window for this marker should be redrawn every frame.
|
||||
*
|
||||
* Note that when this changes from NO to YES, the info window is guaranteed to be redrawn next
|
||||
* frame.
|
||||
*
|
||||
* Defaults to NO.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL tracksInfoWindowChanges;
|
||||
|
||||
/**
|
||||
* The ground anchor specifies the point in the icon image that is anchored to the marker's position
|
||||
* on the Earth's surface. This point is specified within the continuous space [0.0, 1.0] x [0.0,
|
||||
* 1.0], where (0,0) is the top-left corner of the image, and (1,1) is the bottom-right corner.
|
||||
*
|
||||
* If the image has non-zero alignmentRectInsets, the top-left and bottom-right mentioned above
|
||||
* refer to the inset section of the image.
|
||||
*/
|
||||
@property(nonatomic, assign) CGPoint groundAnchor;
|
||||
|
||||
/**
|
||||
* The info window anchor specifies the point in the icon image at which to anchor the info window,
|
||||
* which will be displayed directly above this point. This point is specified within the same space
|
||||
* as groundAnchor.
|
||||
*/
|
||||
@property(nonatomic, assign) CGPoint infoWindowAnchor;
|
||||
|
||||
/**
|
||||
* Controls the animation used when this marker is placed on a GMSMapView (default
|
||||
* kGMSMarkerAnimationNone, no animation).
|
||||
*/
|
||||
@property(nonatomic, assign) GMSMarkerAnimation appearAnimation;
|
||||
|
||||
/**
|
||||
* Controls whether this marker can be dragged interactively (default NO).
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isDraggable) BOOL draggable;
|
||||
|
||||
/**
|
||||
* Controls whether this marker should be flat against the Earth's surface (YES) or a billboard
|
||||
* facing the camera (NO, default).
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isFlat) BOOL flat;
|
||||
|
||||
/**
|
||||
* Sets the rotation of the marker in degrees clockwise about the marker's anchor point. The axis of
|
||||
* rotation is perpendicular to the marker. A rotation of 0 corresponds to the default position of
|
||||
* the marker. Animated.
|
||||
*
|
||||
* When the marker is flat on the map, the default position is north aligned and the rotation is
|
||||
* such that the marker always remains flat on the map. When the marker is a billboard, the default
|
||||
* position is pointing up and the rotation is such that the marker is always facing the camera.
|
||||
*/
|
||||
@property(nonatomic, assign) CLLocationDegrees rotation;
|
||||
|
||||
/**
|
||||
* Sets the opacity of the marker, between 0 (completely transparent) and 1 (default) inclusive.
|
||||
*/
|
||||
@property(nonatomic, assign) float opacity;
|
||||
|
||||
/**
|
||||
* Provides the Core Animation layer for this GMSMarker.
|
||||
*/
|
||||
@property(nonatomic, strong, readonly) GMSMarkerLayer *layer;
|
||||
|
||||
/**
|
||||
* The |panoramaView| specifies which panorama view will attempt to show this marker. Note that if
|
||||
* the marker's |position| is too far away from the |panoramaView|'s current panorama location, it
|
||||
* will not be displayed as it will be too small.
|
||||
*
|
||||
* Can be set to nil to remove the marker from any current panorama view it is attached to.
|
||||
*
|
||||
* A marker can be shown on both a panorama and a map at the same time.
|
||||
*/
|
||||
@property(nonatomic, weak, nullable) GMSPanoramaView *panoramaView;
|
||||
|
||||
/** Convenience constructor for a default marker. */
|
||||
+ (instancetype)markerWithPosition:(CLLocationCoordinate2D)position;
|
||||
|
||||
/** Creates a tinted version of the default marker image for use as an icon. */
|
||||
+ (UIImage *)markerImageWithColor:(nullable UIColor *)color;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* The default position of the ground anchor of a GMSMarker: the center bottom point of the marker
|
||||
* icon.
|
||||
*/
|
||||
FOUNDATION_EXTERN const CGPoint kGMSMarkerDefaultGroundAnchor;
|
||||
|
||||
/**
|
||||
* The default position of the info window anchor of a GMSMarker: the center top point of the marker
|
||||
* icon.
|
||||
*/
|
||||
FOUNDATION_EXTERN const CGPoint kGMSMarkerDefaultInfoWindowAnchor;
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,45 +0,0 @@
|
||||
//
|
||||
// GMSMarkerLayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSMarkerLayer is a custom subclass of CALayer, available on a per-marker basis, that allows
|
||||
* animation of several properties of its associated GMSMarker.
|
||||
*
|
||||
* Note that this CALayer is never actually rendered directly, as GMSMapView is provided entirely
|
||||
* via an OpenGL layer. As such, adjustments or animations to 'default' properties of CALayer will
|
||||
* not have any effect.
|
||||
*/
|
||||
@interface GMSMarkerLayer : CALayer
|
||||
|
||||
/** Latitude, part of |position| on GMSMarker. */
|
||||
@property(nonatomic, assign) CLLocationDegrees latitude;
|
||||
|
||||
/** Longitude, part of |position| on GMSMarker. */
|
||||
@property(nonatomic, assign) CLLocationDegrees longitude;
|
||||
|
||||
/** Rotation, as per GMSMarker. */
|
||||
@property(nonatomic, assign) CLLocationDegrees rotation;
|
||||
|
||||
/** Opacity, as per GMSMarker. */
|
||||
@property(atomic, assign) float opacity;
|
||||
|
||||
@end
|
||||
|
||||
extern NSString *const kGMSMarkerLayerLatitude;
|
||||
extern NSString *const kGMSMarkerLayerLongitude;
|
||||
extern NSString *const kGMSMarkerLayerRotation;
|
||||
extern NSString *const kGMSMarkerLayerOpacity;
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,60 +0,0 @@
|
||||
//
|
||||
// GMSMutablePath.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import "GMSPath.h"
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
* GMSMutablePath is a dynamic (resizable) array of CLLocationCoordinate2D. All coordinates must be
|
||||
* valid. GMSMutablePath is the mutable counterpart to the immutable GMSPath.
|
||||
*/
|
||||
@interface GMSMutablePath : GMSPath
|
||||
|
||||
/** Adds |coord| at the end of the path. */
|
||||
- (void)addCoordinate:(CLLocationCoordinate2D)coord;
|
||||
|
||||
/** Adds a new CLLocationCoordinate2D instance with the given lat/lng. */
|
||||
- (void)addLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude;
|
||||
|
||||
/**
|
||||
* Inserts |coord| at |index|.
|
||||
*
|
||||
* If this is smaller than the size of the path, shifts all coordinates forward by one. Otherwise,
|
||||
* behaves as replaceCoordinateAtIndex:withCoordinate:.
|
||||
*/
|
||||
- (void)insertCoordinate:(CLLocationCoordinate2D)coord atIndex:(NSUInteger)index;
|
||||
|
||||
/**
|
||||
* Replace the coordinate at |index| with |coord|. If |index| is after the end, grows the array with
|
||||
* an undefined coordinate.
|
||||
*/
|
||||
- (void)replaceCoordinateAtIndex:(NSUInteger)index
|
||||
withCoordinate:(CLLocationCoordinate2D)coord;
|
||||
|
||||
/**
|
||||
* Remove entry at |index|.
|
||||
*
|
||||
* If |index| < count decrements size. If |index| >= count this is a silent no-op.
|
||||
*/
|
||||
- (void)removeCoordinateAtIndex:(NSUInteger)index;
|
||||
|
||||
/**
|
||||
* Removes the last coordinate of the path.
|
||||
*
|
||||
* If the array is non-empty decrements size. If the array is empty, this is a silent no-op.
|
||||
*/
|
||||
- (void)removeLastCoordinate;
|
||||
|
||||
/** Removes all coordinates in this path. */
|
||||
- (void)removeAllCoordinates;
|
||||
|
||||
@end
|
||||
@@ -1,44 +0,0 @@
|
||||
//
|
||||
// GMSOrientation.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
/**
|
||||
* GMSOrientation is a tuple of heading and pitch used to control the viewing direction of a
|
||||
* GMSPanoramaCamera.
|
||||
*/
|
||||
typedef struct {
|
||||
/** The camera heading (horizontal angle) in degrees. */
|
||||
const CLLocationDirection heading;
|
||||
|
||||
/**
|
||||
* The camera pitch (vertical angle), in degrees from the horizon. The |pitch| range is [-90,90],
|
||||
* although it is possible that not the full range is supported.
|
||||
*/
|
||||
const double pitch;
|
||||
} GMSOrientation;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Returns a GMSOrientation with the given |heading| and |pitch|.
|
||||
*
|
||||
* @related GMSOrientation
|
||||
*/
|
||||
inline static GMSOrientation GMSOrientationMake(CLLocationDirection heading, double pitch) {
|
||||
GMSOrientation orientation = {heading, pitch};
|
||||
return orientation;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -1,66 +0,0 @@
|
||||
//
|
||||
// GMSOverlay.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
@class GMSMapView;
|
||||
|
||||
/**
|
||||
* GMSOverlay is an abstract class that represents some overlay that may be attached to a specific
|
||||
* GMSMapView. It may not be instantiated directly; instead, instances of concrete overlay types
|
||||
* should be created directly (such as GMSMarker, GMSPolyline, and GMSPolygon).
|
||||
*
|
||||
* This supports the NSCopying protocol; [overlay_ copy] will return a copy of the overlay type, but
|
||||
* with |map| set to nil.
|
||||
*/
|
||||
@interface GMSOverlay : NSObject<NSCopying>
|
||||
|
||||
/**
|
||||
* Title, a short description of the overlay. Some overlays, such as markers, will display the title
|
||||
* on the map. The title is also the default accessibility text.
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) NSString *title;
|
||||
|
||||
/**
|
||||
* The map this overlay is on. Setting this property will add the overlay to the map. Setting it to
|
||||
* nil removes this overlay from the map. An overlay may be active on at most one map at any given
|
||||
* time.
|
||||
*/
|
||||
@property(nonatomic, weak, nullable) GMSMapView *map;
|
||||
|
||||
/**
|
||||
* If this overlay should cause tap notifications. Some overlays, such as markers, will default to
|
||||
* being tappable.
|
||||
*/
|
||||
@property(nonatomic, assign, getter=isTappable) BOOL tappable;
|
||||
|
||||
/**
|
||||
* Higher |zIndex| value overlays will be drawn on top of lower |zIndex| value tile layers and
|
||||
* overlays. Equal values result in undefined draw ordering. Markers are an exception that
|
||||
* regardless of |zIndex|, they will always be drawn above tile layers and other non-marker
|
||||
* overlays; they are effectively considered to be in a separate z-index group compared to other
|
||||
* overlays.
|
||||
*/
|
||||
@property(nonatomic, assign) int zIndex;
|
||||
|
||||
/**
|
||||
* Overlay data. You can use this property to associate an arbitrary object with this overlay.
|
||||
* Google Maps SDK for iOS neither reads nor writes this property.
|
||||
*
|
||||
* Note that userData should not hold any strong references to any Maps objects, otherwise a retain
|
||||
* cycle may be created (preventing objects from being released).
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) id userData;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// GMSPanorama.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
@class GMSPanoramaLink;
|
||||
|
||||
/**
|
||||
* GMSPanorama represents metadata for a specific panorama on the Earth. This class is not
|
||||
* instantiable directly and is obtained via GMSPanoramaService or GMSPanoramaView.
|
||||
*/
|
||||
@interface GMSPanorama : NSObject
|
||||
|
||||
/** The precise location of this panorama. */
|
||||
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
|
||||
|
||||
/** The ID of this panorama. Panoramas may change ID over time, so this should not be persisted */
|
||||
@property(nonatomic, copy, readonly) NSString *panoramaID;
|
||||
|
||||
/** An array of GMSPanoramaLink describing the neighboring panoramas. */
|
||||
@property(nonatomic, copy, readonly) NSArray<GMSPanoramaLink *> *links;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,81 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaCamera.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "GMSOrientation.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSPanoramaCamera is used to control the viewing direction of a GMSPanoramaView. It does not
|
||||
* contain information about which particular panorama should be displayed.
|
||||
*/
|
||||
@interface GMSPanoramaCamera : NSObject
|
||||
|
||||
/**
|
||||
* Designated initializer. Configures this GMSPanoramaCamera with |orientation|, |zoom| and |FOV|.
|
||||
* These values will be clamped to acceptable ranges.
|
||||
*/
|
||||
- (id)initWithOrientation:(GMSOrientation)orientation zoom:(float)zoom FOV:(double)FOV;
|
||||
|
||||
/**
|
||||
* Convenience constructor specifying heading and pitch as part of |orientation|, plus |zoom| and
|
||||
* default field of view (90 degrees).
|
||||
*/
|
||||
+ (instancetype)cameraWithOrientation:(GMSOrientation)orientation zoom:(float)zoom;
|
||||
|
||||
/**
|
||||
* Convenience constructor specifying |heading|, |pitch|, |zoom| with default field of view (90
|
||||
* degrees).
|
||||
*/
|
||||
+ (instancetype)cameraWithHeading:(CLLocationDirection)heading pitch:(double)pitch zoom:(float)zoom;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSPanoramaCamera, specifying all camera properties with heading and
|
||||
* pitch as part of |orientation|.
|
||||
*/
|
||||
+ (instancetype)cameraWithOrientation:(GMSOrientation)orientation zoom:(float)zoom FOV:(double)FOV;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSPanoramaCamera, specifying all camera properties.
|
||||
*/
|
||||
+ (instancetype)cameraWithHeading:(CLLocationDirection)heading
|
||||
pitch:(double)pitch
|
||||
zoom:(float)zoom
|
||||
FOV:(double)FOV;
|
||||
|
||||
/**
|
||||
* The field of view (FOV) encompassed by the larger dimension (width or height) of the view in
|
||||
* degrees at zoom 1. This is clamped to the range [1, 160] degrees, and has a default value of 90.
|
||||
*
|
||||
* Lower FOV values produce a zooming in effect; larger FOV values produce an fisheye effect.
|
||||
*
|
||||
* Note: This is not the displayed FOV if zoom is anything other than 1. User zoom gestures
|
||||
* control the zoom property, not this property.
|
||||
*/
|
||||
@property(nonatomic, assign, readonly) double FOV;
|
||||
|
||||
/**
|
||||
* Adjusts the visible region of the screen. A zoom of N will show the same area as the central
|
||||
* width/N height/N area of what is shown at zoom 1.
|
||||
*
|
||||
* Zoom is clamped to the implementation defined range [1, 5].
|
||||
*/
|
||||
@property(nonatomic, assign, readonly) float zoom;
|
||||
|
||||
/**
|
||||
* The camera orientation, which groups together heading and pitch.
|
||||
*/
|
||||
@property(nonatomic, assign, readonly) GMSOrientation orientation;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,37 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaCameraUpdate.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSPanoramaCameraUpdate represents an update that may be applied to a GMSPanoramaView.
|
||||
* It encapsulates some logic for modifying the current camera.
|
||||
* It should only be constructed using the factory helper methods below.
|
||||
*/
|
||||
@interface GMSPanoramaCameraUpdate : NSObject
|
||||
|
||||
/** Returns an update that increments the camera heading with |deltaHeading|. */
|
||||
+ (GMSPanoramaCameraUpdate *)rotateBy:(CGFloat)deltaHeading;
|
||||
|
||||
/** Returns an update that sets the camera heading to the given value. */
|
||||
+ (GMSPanoramaCameraUpdate *)setHeading:(CGFloat)heading;
|
||||
|
||||
/** Returns an update that sets the camera pitch to the given value. */
|
||||
+ (GMSPanoramaCameraUpdate *)setPitch:(CGFloat)pitch;
|
||||
|
||||
/** Returns an update that sets the camera zoom to the given value. */
|
||||
+ (GMSPanoramaCameraUpdate *)setZoom:(CGFloat)zoom;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,57 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaLayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
#import "GMSCALayer.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* kGMSLayerPanoramaHeadingKey ranges from [0, 360).
|
||||
*
|
||||
* @related GMSPanoramaLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerPanoramaHeadingKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerPanoramaPitchKey ranges from [-90, 90].
|
||||
*
|
||||
* @related GMSPanoramaLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerPanoramaPitchKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerCameraZoomLevelKey ranges from [1, 5], default 1.
|
||||
*
|
||||
* @related GMSPanoramaLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerPanoramaZoomKey;
|
||||
|
||||
/**
|
||||
* kGMSLayerPanoramaFOVKey ranges from [1, 160] (in degrees), default 90.
|
||||
*
|
||||
* @related GMSPanoramaLayer
|
||||
*/
|
||||
extern NSString *const kGMSLayerPanoramaFOVKey;
|
||||
|
||||
/**
|
||||
* GMSPanoramaLayer is a custom subclass of CALayer, provided as the layer class on GMSPanoramaView.
|
||||
* This layer should not be instantiated directly.
|
||||
*/
|
||||
@interface GMSPanoramaLayer : GMSCALayer
|
||||
@property(nonatomic, assign) CLLocationDirection cameraHeading;
|
||||
@property(nonatomic, assign) double cameraPitch;
|
||||
@property(nonatomic, assign) float cameraZoom;
|
||||
@property(nonatomic, assign) double cameraFOV;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,30 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaLink.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Links from a GMSPanorama to neighboring panoramas. */
|
||||
@interface GMSPanoramaLink : NSObject
|
||||
|
||||
/** Angle of the neighboring panorama, clockwise from north in degrees. */
|
||||
@property(nonatomic, assign) CGFloat heading;
|
||||
|
||||
/**
|
||||
* Panorama ID for the neighboring panorama.
|
||||
* Do not store this persistenly, it changes in time.
|
||||
*/
|
||||
@property(nonatomic, copy) NSString *panoramaID;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,83 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaService.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "GMSPanoramaSource.h"
|
||||
|
||||
@class GMSPanorama;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* Callback for when a panorama metadata becomes available.
|
||||
* If an error occurred, |panorama| is nil and |error| is not nil.
|
||||
* Otherwise, |panorama| is not nil and |error| is nil.
|
||||
*
|
||||
* @related GMSPanoramaService
|
||||
*/
|
||||
typedef void (^GMSPanoramaCallback)(GMSPanorama *_Nullable panorama, NSError *_Nullable error);
|
||||
|
||||
/**
|
||||
* GMSPanoramaService can be used to request panorama metadata even when a GMSPanoramaView is not
|
||||
* active.
|
||||
*
|
||||
* Get an instance like this: [[GMSPanoramaService alloc] init].
|
||||
*/
|
||||
@interface GMSPanoramaService : NSObject
|
||||
|
||||
/**
|
||||
* Retrieves information about a panorama near the given |coordinate|.
|
||||
*
|
||||
* This is an asynchronous request, |callback| will be called with the result.
|
||||
*/
|
||||
- (void)requestPanoramaNearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
callback:(GMSPanoramaCallback)callback;
|
||||
|
||||
/**
|
||||
* Similar to requestPanoramaNearCoordinate:callback: but allows specifying a search radius (meters)
|
||||
* around |coordinate|.
|
||||
*/
|
||||
- (void)requestPanoramaNearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
radius:(NSUInteger)radius
|
||||
callback:(GMSPanoramaCallback)callback;
|
||||
|
||||
/**
|
||||
* Similar to requestPanoramaNearCoordinate:callback: but allows specifying the panorama source type
|
||||
* near the given |coordinate|.
|
||||
*
|
||||
* This API is experimental and may not always filter by source.
|
||||
*/
|
||||
- (void)requestPanoramaNearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
source:(GMSPanoramaSource)source
|
||||
callback:(GMSPanoramaCallback)callback;
|
||||
|
||||
/**
|
||||
* Similar to requestPanoramaNearCoordinate:callback: but allows specifying a search radius (meters)
|
||||
* and the panorama source type near the given |coordinate|.
|
||||
*
|
||||
* This API is experimental and may not always filter by source.
|
||||
*/
|
||||
- (void)requestPanoramaNearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
radius:(NSUInteger)radius
|
||||
source:(GMSPanoramaSource)source
|
||||
callback:(GMSPanoramaCallback)callback;
|
||||
|
||||
/**
|
||||
* Retrieves information about a panorama with the given |panoramaID|.
|
||||
*
|
||||
* |callback| will be called with the result. Only panoramaIDs obtained from the Google Maps SDK for
|
||||
* iOS are supported.
|
||||
*/
|
||||
- (void)requestPanoramaWithID:(NSString *)panoramaID callback:(GMSPanoramaCallback)callback;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,30 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaSource.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
* \defgroup PanoramaSource GMSPanoramaSource
|
||||
* {@
|
||||
*/
|
||||
|
||||
/**
|
||||
* Source types for Panoramas. Used to specify the source of a StreetView Panorama.
|
||||
*
|
||||
* This API is experimental. Results may not always match expectations.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, GMSPanoramaSource) {
|
||||
/** Panoramas of locations either inside or outside. */
|
||||
kGMSPanoramaSourceDefault = 0,
|
||||
/** Panoramas of locations outside. */
|
||||
kGMSPanoramaSourceOutside,
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
@@ -1,300 +0,0 @@
|
||||
//
|
||||
// GMSPanoramaView.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "GMSOrientation.h"
|
||||
#import "GMSPanoramaLayer.h"
|
||||
#import "GMSPanoramaSource.h"
|
||||
|
||||
@class GMSMarker;
|
||||
@class GMSPanorama;
|
||||
@class GMSPanoramaCamera;
|
||||
@class GMSPanoramaCameraUpdate;
|
||||
@class GMSPanoramaView;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Delegate for events on GMSPanoramaView. */
|
||||
@protocol GMSPanoramaViewDelegate<NSObject>
|
||||
@optional
|
||||
|
||||
/**
|
||||
* Called when starting a move to another panorama.
|
||||
*
|
||||
* This can be the result of interactive navigation to a neighbouring panorama.
|
||||
*
|
||||
* At the moment this method is called, the |view|.panorama is still pointing to the old panorama,
|
||||
* as the new panorama identified by |panoID| is not yet resolved. panoramaView:didMoveToPanorama:
|
||||
* will be called when the new panorama is ready.
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)view willMoveToPanoramaID:(NSString *)panoramaID;
|
||||
|
||||
/**
|
||||
* This is invoked every time the |view|.panorama property changes.
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)view
|
||||
didMoveToPanorama:(nullable GMSPanorama *)panorama;
|
||||
|
||||
/**
|
||||
* Called when the panorama change was caused by invoking moveToPanoramaNearCoordinate:. The
|
||||
* coordinate passed to that method will also be passed here.
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)view
|
||||
didMoveToPanorama:(GMSPanorama *)panorama
|
||||
nearCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Called when moveNearCoordinate: produces an error.
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)view
|
||||
error:(NSError *)error
|
||||
onMoveNearCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Called when moveToPanoramaID: produces an error.
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)view
|
||||
error:(NSError *)error
|
||||
onMoveToPanoramaID:(NSString *)panoramaID;
|
||||
|
||||
/**
|
||||
* Called repeatedly during changes to the camera on GMSPanoramaView. This may not be called for all
|
||||
* intermediate camera values, but is always called for the final position of the camera after an
|
||||
* animation or gesture.
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)panoramaView didMoveCamera:(GMSPanoramaCamera *)camera;
|
||||
|
||||
/**
|
||||
* Called when a user has tapped on the GMSPanoramaView, but this tap was not consumed (taps may be
|
||||
* consumed by e.g., tapping on a navigation arrow).
|
||||
*/
|
||||
- (void)panoramaView:(GMSPanoramaView *)panoramaView didTap:(CGPoint)point;
|
||||
|
||||
/**
|
||||
* Called after a marker has been tapped. May return YES to indicate the event has been fully
|
||||
* handled and suppress any default behavior.
|
||||
*/
|
||||
- (BOOL)panoramaView:(GMSPanoramaView *)panoramaView didTapMarker:(GMSMarker *)marker;
|
||||
|
||||
/**
|
||||
* Called when the panorama tiles for the current view have just been requested and are beginning to
|
||||
* load.
|
||||
*/
|
||||
- (void)panoramaViewDidStartRendering:(GMSPanoramaView *)panoramaView;
|
||||
|
||||
/**
|
||||
* Called when the panorama tiles have been loaded (or permanently failed to load) and rendered on
|
||||
* screen.
|
||||
*/
|
||||
- (void)panoramaViewDidFinishRendering:(GMSPanoramaView *)panoramaView;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* A panorama is used to display Street View imagery. It should be constructed via [[GMSPanoramaView
|
||||
* alloc] initWithFrame:], and configured post-initialization.
|
||||
*
|
||||
* All properties and methods should be accessed on the main thread, similar to all UIKit objects.
|
||||
* The GMSPanoramaViewDelegate methods will also be called back only on the main thread.
|
||||
*
|
||||
* The backgroundColor of this view is shown while no panorama is visible, such as while it is
|
||||
* loading or if the panorama is later set to nil. The alpha color of backgroundColor is not
|
||||
* supported.
|
||||
*/
|
||||
@interface GMSPanoramaView : UIView
|
||||
|
||||
/**
|
||||
* The panorama to display; setting it will transition to a new panorama. This is animated, except
|
||||
* for the initial panorama.
|
||||
*
|
||||
* Can be set to nil to clear the view.
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) GMSPanorama *panorama;
|
||||
|
||||
/** GMSPanoramaView delegate. */
|
||||
@property(nonatomic, weak, nullable) IBOutlet id<GMSPanoramaViewDelegate> delegate;
|
||||
|
||||
/**
|
||||
* Sets the preference for whether all gestures should be enabled (default) or disabled.
|
||||
*
|
||||
* This does not limit programmatic movement of the camera or control of the panorama.
|
||||
*/
|
||||
- (void)setAllGesturesEnabled:(BOOL)enabled;
|
||||
|
||||
/**
|
||||
* Controls whether orientation gestures are enabled (default) or disabled. If enabled, users may
|
||||
* use gestures to change the orientation of the camera.
|
||||
*
|
||||
* This does not limit programmatic movement of the camera.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL orientationGestures;
|
||||
|
||||
/**
|
||||
* Controls whether zoom gestures are enabled (default) or disabled. If enabled, users may pinch to
|
||||
* zoom the camera.
|
||||
*
|
||||
* This does not limit programmatic movement of the camera.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL zoomGestures;
|
||||
|
||||
/**
|
||||
* Controls whether navigation gestures are enabled (default) or disabled. If enabled, users may use
|
||||
* a single tap on navigation links or double tap the view to change panoramas.
|
||||
*
|
||||
* This does not limit programmatic control of the panorama.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL navigationGestures;
|
||||
|
||||
/**
|
||||
* Controls whether the tappable navigation links are hidden or visible (default). Hidden navigation
|
||||
* links cannot be tapped.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL navigationLinksHidden;
|
||||
|
||||
/**
|
||||
* Controls whether the street name overlays are hidden or visible (default).
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL streetNamesHidden;
|
||||
|
||||
/**
|
||||
* Controls the panorama's camera. Setting a new camera here jumps to the new camera value, with no
|
||||
* animation.
|
||||
*/
|
||||
@property(nonatomic, strong) GMSPanoramaCamera *camera;
|
||||
|
||||
/**
|
||||
* Accessor for the custom CALayer type used for the layer.
|
||||
*/
|
||||
@property(nonatomic, readonly, retain) GMSPanoramaLayer *layer;
|
||||
|
||||
/**
|
||||
* Animates the camera of this GMSPanoramaView to |camera|, over |duration| (specified in seconds).
|
||||
*/
|
||||
- (void)animateToCamera:(GMSPanoramaCamera *)camera animationDuration:(NSTimeInterval)duration;
|
||||
|
||||
/**
|
||||
* Modifies the camera according to |cameraUpdate|, over |duration| (specified in seconds).
|
||||
*/
|
||||
- (void)updateCamera:(GMSPanoramaCameraUpdate *)cameraUpdate
|
||||
animationDuration:(NSTimeInterval)duration;
|
||||
|
||||
/**
|
||||
* Requests a panorama near |coordinate|.
|
||||
*
|
||||
* Upon successful completion panoramaView:didMoveToPanorama: and
|
||||
* panoramaView:didMoveToPanorama:nearCoordinate: will be sent to GMSPanoramaViewDelegate.
|
||||
*
|
||||
* On error panoramaView:error:onMoveNearCoordinate: will be sent.
|
||||
*
|
||||
* Repeated calls to moveNearCoordinate: result in the previous pending (incomplete) transitions
|
||||
* being cancelled -- only the most recent of moveNearCoordinate: and moveToPanoramaId: will proceed
|
||||
* and generate events.
|
||||
*/
|
||||
- (void)moveNearCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Similar to moveNearCoordinate: but allows specifying a search radius (meters) around
|
||||
* |coordinate|.
|
||||
*/
|
||||
- (void)moveNearCoordinate:(CLLocationCoordinate2D)coordinate radius:(NSUInteger)radius;
|
||||
|
||||
/**
|
||||
* Similar to moveNearCoordinate: but allows specifying a source near |coordinate|.
|
||||
*
|
||||
* This API is experimental and may not always filter by source.
|
||||
*/
|
||||
- (void)moveNearCoordinate:(CLLocationCoordinate2D)coordinate source:(GMSPanoramaSource)source;
|
||||
|
||||
/**
|
||||
* Similar to moveNearCoordinate: but allows specifying a search radius (meters) around
|
||||
* |coordinate| and a source.
|
||||
*
|
||||
* This API is experimental and may not always filter by source.
|
||||
*/
|
||||
- (void)moveNearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
radius:(NSUInteger)radius
|
||||
source:(GMSPanoramaSource)source;
|
||||
|
||||
/**
|
||||
* Requests a panorama with |panoramaID|.
|
||||
*
|
||||
* Upon successful completion panoramaView:didMoveToPanorama: will be sent to
|
||||
* GMSPanoramaViewDelegate.
|
||||
*
|
||||
* On error panoramaView:error:onMoveToPanoramaID: will be sent.
|
||||
*
|
||||
* Repeated calls to moveToPanoramaID: result in the previous pending (incomplete) transitions being
|
||||
* cancelled -- only the most recent of moveNearCoordinate: and moveToPanoramaId: will proceed and
|
||||
* generate events.
|
||||
*
|
||||
* Only panoramaIDs obtained from the Google Maps SDK for iOS are supported.
|
||||
*/
|
||||
- (void)moveToPanoramaID:(NSString *)panoramaID;
|
||||
|
||||
/**
|
||||
* For the current view, returns the screen point the |orientation| points through. This value may
|
||||
* be outside the view for forward facing orientations which are far enough away from straight
|
||||
* ahead.
|
||||
*
|
||||
* The result will contain NaNs for camera orientations which point away from the view, where the
|
||||
* implied screen point would have had a negative distance from the camera in the direction of
|
||||
* orientation.
|
||||
*/
|
||||
- (CGPoint)pointForOrientation:(GMSOrientation)orientation;
|
||||
|
||||
/**
|
||||
* Given a point for this view, returns the current camera orientation pointing through that screen
|
||||
* location. At the center of this view, the returned GMSOrientation will be approximately equal to
|
||||
* that of the current GMSPanoramaCamera.
|
||||
*/
|
||||
- (GMSOrientation)orientationForPoint:(CGPoint)point;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSPanoramaView, which searches for and displays a GMSPanorama near
|
||||
* |coordinate|. This performs a similar action to that of moveNearCoordinate:, and will call the
|
||||
* same delegate methods.
|
||||
*/
|
||||
+ (instancetype)panoramaWithFrame:(CGRect)frame nearCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Similar to panoramaWithFrame:nearCoordinate: but allows specifying a search radius (meters)
|
||||
* around |coordinate|.
|
||||
*/
|
||||
+ (instancetype)panoramaWithFrame:(CGRect)frame
|
||||
nearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
radius:(NSUInteger)radius;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSPanoramaView, which searches for and displays a GMSPanorama near
|
||||
* |coordinate|. This performs a similar action to that of moveNearCoordinate:source, and will call
|
||||
* the same delegate methods.
|
||||
*
|
||||
* This API is experimental and may not always filter by source.
|
||||
*/
|
||||
+ (instancetype)panoramaWithFrame:(CGRect)frame
|
||||
nearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
source:(GMSPanoramaSource)source;
|
||||
/**
|
||||
* Convenience constructor for GMSPanoramaView, which searches for and displays a GMSPanorama near
|
||||
* |coordinate|. This performs a similar action to that of moveNearCoordinate:radius:source, and
|
||||
* will call the same delegate methods.
|
||||
*
|
||||
* This API is experimental and may not always filter by source.
|
||||
*/
|
||||
+ (instancetype)panoramaWithFrame:(CGRect)frame
|
||||
nearCoordinate:(CLLocationCoordinate2D)coordinate
|
||||
radius:(NSUInteger)radius
|
||||
source:(GMSPanoramaSource)source;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,112 +0,0 @@
|
||||
//
|
||||
// GMSPath.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSPath encapsulates an immutable array of CLLocationCooordinate2D. All the coordinates of a
|
||||
* GMSPath must be valid. The mutable counterpart is GMSMutablePath.
|
||||
*/
|
||||
@interface GMSPath : NSObject<NSCopying, NSMutableCopying>
|
||||
|
||||
/** Convenience constructor for an empty path. */
|
||||
+ (instancetype)path;
|
||||
|
||||
/** Initializes a newly allocated path with the contents of another GMSPath. */
|
||||
- (id)initWithPath:(GMSPath *)path;
|
||||
|
||||
/** Get size of path. */
|
||||
- (NSUInteger)count;
|
||||
|
||||
/** Returns kCLLocationCoordinate2DInvalid if |index| >= count. */
|
||||
- (CLLocationCoordinate2D)coordinateAtIndex:(NSUInteger)index;
|
||||
|
||||
/**
|
||||
* Initializes a newly allocated path from |encodedPath|. This format is described at:
|
||||
* https://developers.google.com/maps/documentation/utilities/polylinealgorithm
|
||||
*/
|
||||
+ (nullable instancetype)pathFromEncodedPath:(NSString *)encodedPath;
|
||||
|
||||
/** Returns an encoded string of the path in the format described above. */
|
||||
- (NSString *)encodedPath;
|
||||
|
||||
/**
|
||||
* Returns a new path obtained by adding |deltaLatitude| and |deltaLongitude| to each coordinate
|
||||
* of the current path. Does not modify the current path.
|
||||
*/
|
||||
- (instancetype)pathOffsetByLatitude:(CLLocationDegrees)deltaLatitude
|
||||
longitude:(CLLocationDegrees)deltaLongitude;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* kGMSEquatorProjectedMeter may be useful when specifying lengths for segment in "projected" units.
|
||||
* The value of kGMSEquatorProjectedMeter, 1/(pi * EarthRadius), represents the length of one meter
|
||||
* at the equator in projected units. For example to specify a projected length that corresponds
|
||||
* to 100km at the equator use 100000 * kGMSEquatorProjectedMeter.
|
||||
* See [GMSPath segmentsForLength:kind:], [GMSPath lengthOfKind:] and kGMSLengthProjected.
|
||||
*/
|
||||
extern const double kGMSEquatorProjectedMeter;
|
||||
|
||||
/**
|
||||
* \defgroup LengthKind GMSLengthKind
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* GMSLengthKind indicates the type of a length value, which can be geodesic (in meters), rhumb
|
||||
* length (in meters) and projected length (in GMSMapPoint units).
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, GMSLengthKind) {
|
||||
/*
|
||||
* Geodesic length, in meters, along geodesic segments. May be useful, for example, to specify
|
||||
* lengths along the the trajectory of airplanes or ships.
|
||||
*/
|
||||
kGMSLengthGeodesic,
|
||||
|
||||
/*
|
||||
* Rhumb length, in meters, along rhumb (straight line) segments. May be useful, for example, to
|
||||
* draw a scale bar on a map. The visual size of a segment of a given length depens on the
|
||||
* latitude.
|
||||
*/
|
||||
kGMSLengthRhumb,
|
||||
|
||||
/*
|
||||
* Length in projected space, along rhumb segments. Projected length uses the same units as
|
||||
* GMSMapPoint - the Earth equator circumference has length 2. It is possible to specify projected
|
||||
* length in units corresponding to 1 meter at the equator by multiplying with
|
||||
* kGMSEquatorProjectedMeter, equal to 1/(pi * EarthRadius).
|
||||
*
|
||||
* Projected length may be useful, for example, to specify segments with the same visual length
|
||||
* regardless of latitude.
|
||||
*/
|
||||
kGMSLengthProjected
|
||||
};
|
||||
|
||||
/**@}*/
|
||||
|
||||
@interface GMSPath (GMSPathLength)
|
||||
|
||||
/**
|
||||
* Returns the fractional number of segments along the path that correspond to |length|,
|
||||
* interpreted according to |kind|. See GMSLengthKind.
|
||||
*/
|
||||
- (double)segmentsForLength:(CLLocationDistance)length kind:(GMSLengthKind)kind;
|
||||
|
||||
/**
|
||||
* Returns the length of the path, according to |kind|. See GMSLengthKind.
|
||||
*/
|
||||
- (CLLocationDistance)lengthOfKind:(GMSLengthKind)kind;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,55 +0,0 @@
|
||||
//
|
||||
// GMSPolygon.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "GMSOverlay.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
@class GMSPath;
|
||||
|
||||
/**
|
||||
* GMSPolygon defines a polygon that appears on the map. A polygon (like a polyline) defines a
|
||||
* series of connected coordinates in an ordered sequence; additionally, polygons form a closed loop
|
||||
* and define a filled region.
|
||||
*/
|
||||
@interface GMSPolygon : GMSOverlay
|
||||
|
||||
/** The path that describes this polygon. The coordinates composing the path must be valid. */
|
||||
@property(nonatomic, copy, nullable) GMSPath *path;
|
||||
|
||||
/**
|
||||
* The array of GMSPath instances that describes any holes in this polygon. The coordinates
|
||||
* composing each path must be valid.
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) NSArray<GMSPath *> *holes;
|
||||
|
||||
/** The width of the polygon outline in screen points. Defaults to 1. */
|
||||
@property(nonatomic, assign) CGFloat strokeWidth;
|
||||
|
||||
/** The color of the polygon outline. Defaults to nil. */
|
||||
@property(nonatomic, strong, nullable) UIColor *strokeColor;
|
||||
|
||||
/** The fill color. Defaults to blueColor. */
|
||||
@property(nonatomic, strong, nullable) UIColor *fillColor;
|
||||
|
||||
/** Whether this polygon should be rendered with geodesic correction. */
|
||||
@property(nonatomic, assign) BOOL geodesic;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSPolygon for a particular path. Other properties will have default
|
||||
* values.
|
||||
*/
|
||||
+ (instancetype)polygonWithPath:(nullable GMSPath *)path;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,106 +0,0 @@
|
||||
//
|
||||
// GMSPolyline.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2012 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "GMSOverlay.h"
|
||||
|
||||
@class GMSPath;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Describes the drawing style for one-dimensional entities such as polylines. */
|
||||
@interface GMSStrokeStyle : NSObject
|
||||
|
||||
/** Creates a solid color stroke style. */
|
||||
+ (instancetype)solidColor:(UIColor *)color;
|
||||
|
||||
/** Creates a gradient stroke style interpolating from |fromColor| to |toColor|. */
|
||||
+ (instancetype)gradientFromColor:(UIColor *)fromColor toColor:(UIColor *)toColor;
|
||||
|
||||
@end
|
||||
|
||||
/** Describes the style for some region of a polyline. */
|
||||
@interface GMSStyleSpan : NSObject
|
||||
|
||||
/**
|
||||
* Factory returning a solid color span of length one segment. Equivalent to
|
||||
* [GMSStyleSpan spanWithStyle:[GMSStrokeStyle solidColor:|color|] segments:1].
|
||||
*/
|
||||
+ (instancetype)spanWithColor:(UIColor *)color;
|
||||
|
||||
/**
|
||||
* Factory returning a solid color span with a given number of segments. Equivalent to
|
||||
* [GMSStyleSpan spanWithStyle:[GMSStrokeStyle solidColor:|color|] segments:|segments|].
|
||||
*/
|
||||
+ (instancetype)spanWithColor:(UIColor *)color segments:(double)segments;
|
||||
|
||||
/**
|
||||
* Factory returning a span with the given |style| of length one segment. Equivalent to
|
||||
* [GMSStyleSpan spanWithStyle:|style| segments:1].
|
||||
*/
|
||||
+ (instancetype)spanWithStyle:(GMSStrokeStyle *)style;
|
||||
|
||||
/**
|
||||
* Factory returning a span with the given |style| and length in number of segments.
|
||||
* |segments| must be greater than 0 (i.e. can't be 0).
|
||||
*/
|
||||
+ (instancetype)spanWithStyle:(GMSStrokeStyle *)style segments:(double)segments;
|
||||
|
||||
/** The style of this span. */
|
||||
@property(nonatomic, readonly) GMSStrokeStyle *style;
|
||||
|
||||
/** The length of this span in number of segments. */
|
||||
@property(nonatomic, readonly) double segments;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* GMSPolyline specifies the available options for a polyline that exists on the Earth's surface.
|
||||
* It is drawn as a physical line between the points specified in |path|.
|
||||
*/
|
||||
@interface GMSPolyline : GMSOverlay
|
||||
|
||||
/**
|
||||
* The path that describes this polyline.
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) GMSPath *path;
|
||||
|
||||
/**
|
||||
* The width of the line in screen points. Defaults to 1.
|
||||
*/
|
||||
@property(nonatomic, assign) CGFloat strokeWidth;
|
||||
|
||||
/**
|
||||
* The UIColor used to render the polyline. Defaults to [UIColor blueColor].
|
||||
*/
|
||||
@property(nonatomic, strong) UIColor *strokeColor;
|
||||
|
||||
/** Whether this line should be rendered with geodesic correction. */
|
||||
@property(nonatomic, assign) BOOL geodesic;
|
||||
|
||||
/**
|
||||
* Convenience constructor for GMSPolyline for a particular path. Other properties will have
|
||||
* default values.
|
||||
*/
|
||||
+ (instancetype)polylineWithPath:(nullable GMSPath *)path;
|
||||
|
||||
/**
|
||||
* An array containing GMSStyleSpan, the spans used to render this polyline.
|
||||
*
|
||||
* If this array contains fewer segments than the polyline itself, the final segment will be applied
|
||||
* over the remaining length. If this array is unset or empty, then |strokeColor| is used for the
|
||||
* entire line instead.
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) NSArray<GMSStyleSpan *> *spans;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,76 +0,0 @@
|
||||
//
|
||||
// GMSProjection.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2012 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
/**
|
||||
* GMSVisibleRegion contains the four points defining the polygon that is visible in a map's camera.
|
||||
*
|
||||
* This polygon can be a trapezoid instead of a rectangle, because a camera can have tilt. If the
|
||||
* camera is directly over the center of the camera, the shape is rectangular, but if the camera is
|
||||
* tilted, the shape will appear to be a trapezoid whose smallest side is closest to the point of
|
||||
* view.
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
/** Bottom left corner of the camera. */
|
||||
CLLocationCoordinate2D nearLeft;
|
||||
|
||||
/** Bottom right corner of the camera. */
|
||||
CLLocationCoordinate2D nearRight;
|
||||
|
||||
/** Far left corner of the camera. */
|
||||
CLLocationCoordinate2D farLeft;
|
||||
|
||||
/** Far right corner of the camera. */
|
||||
CLLocationCoordinate2D farRight;
|
||||
} GMSVisibleRegion;
|
||||
|
||||
/**
|
||||
* Defines a mapping between Earth coordinates (CLLocationCoordinate2D) and coordinates in the map's
|
||||
* view (CGPoint). A projection is constant and immutable, in that the mapping it embodies never
|
||||
* changes. The mapping is not necessarily linear.
|
||||
*
|
||||
* Passing invalid Earth coordinates (i.e., per CLLocationCoordinate2DIsValid) to this object may
|
||||
* result in undefined behavior.
|
||||
*
|
||||
* This class should not be instantiated directly, instead, obtained via projection on GMSMapView.
|
||||
*/
|
||||
@interface GMSProjection : NSObject
|
||||
|
||||
/** Maps an Earth coordinate to a point coordinate in the map's view. */
|
||||
- (CGPoint)pointForCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/** Maps a point coordinate in the map's view to an Earth coordinate. */
|
||||
- (CLLocationCoordinate2D)coordinateForPoint:(CGPoint)point;
|
||||
|
||||
/**
|
||||
* Converts a distance in meters to content size. This is only accurate for small Earth distances,
|
||||
* as it uses CGFloat for screen distances.
|
||||
*/
|
||||
- (CGFloat)pointsForMeters:(CLLocationDistance)meters
|
||||
atCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Returns whether a given coordinate (lat/lng) is contained within the projection.
|
||||
*/
|
||||
- (BOOL)containsCoordinate:(CLLocationCoordinate2D)coordinate;
|
||||
|
||||
/**
|
||||
* Returns the region (four location coordinates) that is visible according to the projection. If
|
||||
* padding was set on GMSMapView, this region takes the padding into account.
|
||||
*
|
||||
* The visible region can be non-rectangular. The result is undefined if the projection includes
|
||||
* points that do not map to anywhere on the map (e.g., camera sees outer space).
|
||||
*/
|
||||
- (GMSVisibleRegion)visibleRegion;
|
||||
|
||||
@end
|
||||
@@ -1,67 +0,0 @@
|
||||
//
|
||||
// GMSServices.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2012 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/** Service class for the Google Maps SDK for iOS. */
|
||||
@interface GMSServices : NSObject
|
||||
|
||||
/**
|
||||
* Provides the shared instance of GMSServices for the Google Maps SDK for iOS, creating it if
|
||||
* necessary. Classes such as GMSMapView and GMSPanoramaView will hold this instance to provide
|
||||
* their connection to Google.
|
||||
*
|
||||
* This is an opaque object. If your application often creates and destroys view or service classes
|
||||
* provided by the Google Maps SDK for iOS, it may be useful to hold onto this object directly, as
|
||||
* otherwise your connection to Google may be restarted on a regular basis. It also may be useful to
|
||||
* take this object in advance of the first map creation, to reduce initial map creation performance
|
||||
* cost.
|
||||
*
|
||||
* This method will throw an exception if provideAPIKey: has not been called.
|
||||
*/
|
||||
+ (id<NSObject>)sharedServices;
|
||||
|
||||
/**
|
||||
* Provides your API key to the Google Maps SDK for iOS. This key is generated for your application
|
||||
* via the Google APIs Console, and is paired with your application's bundle ID to identify it.
|
||||
* This must be called exactly once by your application before any iOS Maps SDK object is
|
||||
* initialized.
|
||||
*
|
||||
* @return YES if the APIKey was successfully provided.
|
||||
*/
|
||||
+ (BOOL)provideAPIKey:(NSString *)APIKey;
|
||||
|
||||
/**
|
||||
* Provides your API options to the Google Maps SDK for iOS. Pass an array containing an NSString
|
||||
* for each option. The options apply to all maps.
|
||||
*
|
||||
* This may be called exactly once by your application. It must be called before any iOS Maps SDK
|
||||
* object is initialized.
|
||||
*
|
||||
* @return YES if all the APIOptions were successfully provided.
|
||||
*/
|
||||
+ (BOOL)provideAPIOptions:(NSArray<NSString *> *)APIOptions;
|
||||
|
||||
/**
|
||||
* Returns the open source software license information for Google Maps SDK for iOS. This
|
||||
* information must be made available within your application.
|
||||
*/
|
||||
+ (NSString *)openSourceLicenseInfo;
|
||||
|
||||
/**
|
||||
* Returns the version for this release of the Google Maps SDK for iOS.
|
||||
*/
|
||||
+ (NSString *)SDKVersion;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,35 +0,0 @@
|
||||
//
|
||||
// GMSSyncTileLayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "GMSTileLayer.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* GMSSyncTileLayer is an abstract subclass of GMSTileLayer that provides a sync interface to
|
||||
* generate image tile data.
|
||||
*/
|
||||
@interface GMSSyncTileLayer : GMSTileLayer
|
||||
|
||||
/**
|
||||
* As per requestTileForX:y:zoom:receiver: on GMSTileLayer, but provides a synchronous interface to
|
||||
* return tiles. This method may block or otherwise perform work, and is not called on the main
|
||||
* thread.
|
||||
*
|
||||
* Calls to this method may also be made from multiple threads so implementations must be
|
||||
* threadsafe.
|
||||
*/
|
||||
- (nullable UIImage *)tileForX:(NSUInteger)x y:(NSUInteger)y zoom:(NSUInteger)zoom;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,105 +0,0 @@
|
||||
//
|
||||
// GMSTileLayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@class GMSMapView;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* Stub tile that is used to indicate that no tile exists for a specific tile coordinate. May be
|
||||
* returned by tileForX:y:zoom: on GMSTileProvider.
|
||||
*/
|
||||
FOUNDATION_EXTERN UIImage *const kGMSTileLayerNoTile;
|
||||
|
||||
/**
|
||||
* GMSTileReceiver is provided to GMSTileLayer when a tile request is made, allowing the callback to
|
||||
* be later (or immediately) invoked.
|
||||
*/
|
||||
@protocol GMSTileReceiver<NSObject>
|
||||
- (void)receiveTileWithX:(NSUInteger)x
|
||||
y:(NSUInteger)y
|
||||
zoom:(NSUInteger)zoom
|
||||
image:(nullable UIImage *)image;
|
||||
@end
|
||||
|
||||
/**
|
||||
* GMSTileLayer is an abstract class that allows overlaying of custom image tiles on a specified
|
||||
* GMSMapView. It may not be initialized directly, and subclasses must implement the
|
||||
* tileForX:y:zoom: method to return tiles.
|
||||
*
|
||||
* At zoom level 0 the whole world is a square covered by a single tile, and the coordinates |x| and
|
||||
* |y| are both 0 for that tile. At zoom level 1, the world is covered by 4 tiles with |x| and |y|
|
||||
* being 0 or 1, and so on.
|
||||
*/
|
||||
@interface GMSTileLayer : NSObject
|
||||
|
||||
/**
|
||||
* requestTileForX:y:zoom:receiver: generates image tiles for GMSTileOverlay. It must be overridden
|
||||
* by subclasses. The tile for the given |x|, |y| and |zoom| _must_ be later passed to |receiver|.
|
||||
*
|
||||
* Specify kGMSTileLayerNoTile if no tile is available for this location; or nil if a transient
|
||||
* error occured and a tile may be available later.
|
||||
*
|
||||
* Calls to this method will be made on the main thread. See GMSSyncTileLayer for a base class that
|
||||
* implements a blocking tile layer that does not run on your application's main thread.
|
||||
*/
|
||||
- (void)requestTileForX:(NSUInteger)x
|
||||
y:(NSUInteger)y
|
||||
zoom:(NSUInteger)zoom
|
||||
receiver:(id<GMSTileReceiver>)receiver;
|
||||
|
||||
/**
|
||||
* Clears the cache so that all tiles will be requested again.
|
||||
*/
|
||||
- (void)clearTileCache;
|
||||
|
||||
/**
|
||||
* The map this GMSTileOverlay is displayed on. Setting this property will add the layer to the map.
|
||||
* Setting it to nil removes this layer from the map. A layer may be active on at most one map at
|
||||
* any given time.
|
||||
*/
|
||||
@property(nonatomic, weak, nullable) GMSMapView *map;
|
||||
|
||||
/**
|
||||
* Higher |zIndex| value tile layers will be drawn on top of lower |zIndex| value tile layers and
|
||||
* overlays. Equal values result in undefined draw ordering.
|
||||
*/
|
||||
@property(nonatomic, assign) int zIndex;
|
||||
|
||||
/**
|
||||
* Specifies the number of pixels (not points) that the returned tile images will prefer to display
|
||||
* as. For best results, this should be the edge length of your custom tiles. Defaults to 256, which
|
||||
* is the traditional size of Google Maps tiles.
|
||||
*
|
||||
* Values less than the equivalent of 128 points (e.g. 256 pixels on retina devices) may not perform
|
||||
* well and are not recommended.
|
||||
*
|
||||
* As an example, an application developer may wish to provide retina tiles (512 pixel edge length)
|
||||
* on retina devices, to keep the same number of tiles
|
||||
* per view as the default value of 256 would give on a non-retina device.
|
||||
*/
|
||||
@property(nonatomic, assign) NSInteger tileSize;
|
||||
|
||||
/**
|
||||
* Specifies the opacity of the tile layer. This provides a multiplier for the alpha channel of tile
|
||||
* images.
|
||||
*/
|
||||
@property(nonatomic, assign) float opacity;
|
||||
|
||||
/**
|
||||
* Specifies whether the tiles should fade in. Default YES.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL fadeIn;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,91 +0,0 @@
|
||||
//
|
||||
// GMSUISettings.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/** Settings for the user interface of a GMSMapView. */
|
||||
@interface GMSUISettings : NSObject
|
||||
|
||||
/**
|
||||
* Sets the preference for whether all gestures should be enabled (default) or disabled. This
|
||||
* doesn't restrict users from tapping any on screen buttons to move the camera (e.g., compass or
|
||||
* zoom controls), nor does it restrict programmatic movements and animation.
|
||||
*/
|
||||
- (void)setAllGesturesEnabled:(BOOL)enabled;
|
||||
|
||||
/**
|
||||
* Controls whether scroll gestures are enabled (default) or disabled. If enabled, users may drag to
|
||||
* pan the camera. This does not limit programmatic movement of the camera.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL scrollGestures;
|
||||
|
||||
/**
|
||||
* Controls whether zoom gestures are enabled (default) or disabled. If enabled, users may double
|
||||
* tap/two-finger tap or pinch to zoom the camera. This does not limit programmatic movement of the
|
||||
* camera.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL zoomGestures;
|
||||
|
||||
/**
|
||||
* Controls whether tilt gestures are enabled (default) or disabled. If enabled, users may use a
|
||||
* two-finger vertical down or up swipe to tilt the camera. This does not limit programmatic control
|
||||
* of the camera's viewingAngle.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL tiltGestures;
|
||||
|
||||
/**
|
||||
* Controls whether rotate gestures are enabled (default) or disabled. If enabled, users may use a
|
||||
* two-finger rotate gesture to rotate the camera. This does not limit programmatic control of the
|
||||
* camera's bearing.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL rotateGestures;
|
||||
|
||||
/**
|
||||
* Controls whether gestures by users are completely consumed by the GMSMapView when gestures are
|
||||
* enabled (default YES). This prevents these gestures from being received by parent views.
|
||||
*
|
||||
* When the GMSMapView is contained by a UIScrollView (or other scrollable area), this means that
|
||||
* gestures on the map will not be additional consumed as scroll gestures. However, disabling this
|
||||
* (set to NO) may be useful to support complex view hierarchies or requirements.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL consumesGesturesInView;
|
||||
|
||||
/**
|
||||
* Enables or disables the compass. The compass is an icon on the map that indicates the direction
|
||||
* of north on the map.
|
||||
*
|
||||
* If enabled, it is only shown when the camera is rotated away from its default orientation
|
||||
* (bearing of 0). When a user taps the compass, the camera orients itself to its default
|
||||
* orientation and fades away shortly after. If disabled, the compass will never be displayed.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL compassButton;
|
||||
|
||||
/**
|
||||
* Enables or disables the My Location button. This is a button visible on the map that, when tapped
|
||||
* by users, will center the map on the current user location.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL myLocationButton;
|
||||
|
||||
/**
|
||||
* Enables (default) or disables the indoor floor picker.
|
||||
*
|
||||
* If enabled, it is only visible when the view is focused on a building with indoor floor data. If
|
||||
* disabled, the selected floor can still be controlled programmatically via the indoorDisplay
|
||||
* mapView property.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL indoorPicker;
|
||||
|
||||
/**
|
||||
* Controls whether rotate and zoom gestures can be performed off-center and scrolled around
|
||||
* (default YES).
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL allowScrollGesturesDuringRotateOrZoom;
|
||||
|
||||
@end
|
||||
@@ -1,56 +0,0 @@
|
||||
//
|
||||
// GMSURLTileLayer.h
|
||||
// Google Maps SDK for iOS
|
||||
//
|
||||
// Copyright 2013 Google Inc.
|
||||
//
|
||||
// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
|
||||
// Service: https://developers.google.com/maps/terms
|
||||
//
|
||||
|
||||
#import "GMSTileLayer.h"
|
||||
|
||||
@class NSURL;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN;
|
||||
|
||||
/**
|
||||
* |GMSTileURLConstructor| is a block taking |x|, |y| and |zoom| and returning an NSURL, or nil to
|
||||
* indicate no tile for that location.
|
||||
*
|
||||
* @related GMSURLTileLayer
|
||||
*/
|
||||
typedef NSURL *_Nullable (^GMSTileURLConstructor)(NSUInteger x, NSUInteger y, NSUInteger zoom);
|
||||
|
||||
/**
|
||||
* GMSURLTileProvider fetches tiles based on the URLs returned from a GMSTileURLConstructor. For
|
||||
* example:
|
||||
* <pre>
|
||||
* GMSTileURLConstructor constructor = ^(NSUInteger x, NSUInteger y, NSUInteger zoom) {
|
||||
* NSString *URLStr =
|
||||
* [NSString stringWithFormat:@"https://example.com/%d/%d/%d.png", x, y, zoom];
|
||||
* return [NSURL URLWithString:URLStr];
|
||||
* };
|
||||
* GMSTileLayer *layer =
|
||||
* [GMSURLTileLayer tileLayerWithURLConstructor:constructor];
|
||||
* layer.userAgent = @"SDK user agent";
|
||||
* layer.map = map;
|
||||
* </pre>
|
||||
*
|
||||
* GMSURLTileProvider may not be subclassed and should only be created via its convenience
|
||||
* constructor.
|
||||
*/
|
||||
@interface GMSURLTileLayer : GMSTileLayer
|
||||
|
||||
/** Convenience constructor. |constructor| must be non-nil. */
|
||||
+ (instancetype)tileLayerWithURLConstructor:(GMSTileURLConstructor)constructor;
|
||||
|
||||
/**
|
||||
* Specify the user agent to describe your application. If this is nil (the default), the default
|
||||
* iOS user agent is used for HTTP requests.
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) NSString *userAgent;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END;
|
||||
@@ -1,38 +0,0 @@
|
||||
#import "GMSIndoorBuilding.h"
|
||||
#import "GMSIndoorLevel.h"
|
||||
#import "GMSAddress.h"
|
||||
#import "GMSCALayer.h"
|
||||
#import "GMSCameraPosition.h"
|
||||
#import "GMSCameraUpdate.h"
|
||||
#import "GMSCoordinateBounds+GoogleMaps.h"
|
||||
#import "GMSGeocoder.h"
|
||||
#import "GMSGeometryUtils.h"
|
||||
#import "GMSIndoorDisplay.h"
|
||||
#import "GMSMapLayer.h"
|
||||
#import "GMSMapStyle.h"
|
||||
#import "GMSMapView+Animation.h"
|
||||
#import "GMSMapView.h"
|
||||
#import "GMSMutablePath.h"
|
||||
#import "GMSPath.h"
|
||||
#import "GMSProjection.h"
|
||||
#import "GMSServices.h"
|
||||
#import "GMSUISettings.h"
|
||||
#import "GMSCircle.h"
|
||||
#import "GMSGroundOverlay.h"
|
||||
#import "GMSMarker.h"
|
||||
#import "GMSMarkerLayer.h"
|
||||
#import "GMSOverlay.h"
|
||||
#import "GMSPolygon.h"
|
||||
#import "GMSPolyline.h"
|
||||
#import "GMSSyncTileLayer.h"
|
||||
#import "GMSTileLayer.h"
|
||||
#import "GMSURLTileLayer.h"
|
||||
#import "GMSOrientation.h"
|
||||
#import "GMSPanorama.h"
|
||||
#import "GMSPanoramaCamera.h"
|
||||
#import "GMSPanoramaCameraUpdate.h"
|
||||
#import "GMSPanoramaLayer.h"
|
||||
#import "GMSPanoramaLink.h"
|
||||
#import "GMSPanoramaService.h"
|
||||
#import "GMSPanoramaSource.h"
|
||||
#import "GMSPanoramaView.h"
|
||||
@@ -1,21 +0,0 @@
|
||||
framework module GoogleMaps {
|
||||
umbrella header "GoogleMaps.h"
|
||||
export *
|
||||
module * { export *}
|
||||
link "z"
|
||||
link framework "Accelerate"
|
||||
link framework "CoreData"
|
||||
link framework "CoreFoundation"
|
||||
link framework "CoreGraphics"
|
||||
link framework "CoreImage"
|
||||
link framework "CoreLocation"
|
||||
link framework "CoreTelephony"
|
||||
link framework "CoreText"
|
||||
link framework "Foundation"
|
||||
link framework "GLKit"
|
||||
link framework "ImageIO"
|
||||
link framework "OpenGLES"
|
||||
link framework "QuartzCore"
|
||||
link framework "Security"
|
||||
link framework "SystemConfiguration"
|
||||
link framework "UIKit"}
|
||||
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 433 B |
|
Before Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 631 B |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 720 B |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 492 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 483 B |
|
Before Width: | Height: | Size: 992 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 498 B |
|
Before Width: | Height: | Size: 860 B |
|
Before Width: | Height: | Size: 1.5 KiB |