You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.9 KiB
50 lines
1.9 KiB
![]()
2 years ago
|
#if !defined(__has_feature) || !__has_feature(objc_arc)
|
||
|
#error "This file requires ARC support."
|
||
|
#endif
|
||
|
|
||
|
#import "GoogleMapsDemos/Samples/GroundOverlayViewController.h"
|
||
|
|
||
|
#import <GoogleMaps/GoogleMaps.h>
|
||
|
|
||
|
@interface GroundOverlayViewController ()<GMSMapViewDelegate>
|
||
|
@end
|
||
|
|
||
|
@implementation GroundOverlayViewController
|
||
|
|
||
|
- (void)viewDidLoad {
|
||
|
[super viewDidLoad];
|
||
|
|
||
|
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216, -74.22655);
|
||
|
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941, -74.12544);
|
||
|
|
||
|
GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest
|
||
|
coordinate:northEast];
|
||
|
|
||
|
// Choose the midpoint of the coordinate to focus the camera on.
|
||
|
CLLocationCoordinate2D newark = GMSGeometryInterpolate(southWest, northEast, 0.5);
|
||
|
GMSCameraPosition *camera = [GMSCameraPosition cameraWithTarget:newark
|
||
|
zoom:12
|
||
|
bearing:0
|
||
|
viewingAngle:45];
|
||
|
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
|
||
|
mapView.delegate = self;
|
||
|
|
||
|
// Add the ground overlay, centered in Newark, NJ
|
||
|
GMSGroundOverlay *groundOverlay = [[GMSGroundOverlay alloc] init];
|
||
|
// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
|
||
|
groundOverlay.icon = [UIImage imageNamed:@"newark_nj_1922.jpg"];
|
||
|
groundOverlay.tappable = YES;
|
||
|
groundOverlay.position = newark;
|
||
|
groundOverlay.bounds = overlayBounds;
|
||
|
groundOverlay.map = mapView;
|
||
|
|
||
|
self.view = mapView;
|
||
|
}
|
||
|
|
||
|
- (void)mapView:(GMSMapView *)mapView didTapOverlay:(GMSOverlay *)overlay {
|
||
|
float opacity = (((float)arc4random()/0x100000000)*0.5f + 0.5f);
|
||
|
((GMSGroundOverlay *)overlay).opacity = opacity;
|
||
|
}
|
||
|
|
||
|
@end
|