Wie füge ich unter iOS eine Schaltfläche zu Google Maps hinzu?
Ich bin neu in der iOS-Programmierung und habe das Google Maps SDK für iOS heruntergeladen und die Anweisungen auf der Website befolgt (wie in diesem Link gezeigt)https://developers.google.com/maps/documentation/ios/start ) und konnte die Karte in meine Bewerbung bekommen.
Jetzt versuche ich, eine Schaltfläche auf dem Bildschirm über Google Maps hinzuzufügen, um dem Benutzer die Möglichkeit zu geben, zum vorherigen Bildschirm zurückzukehren.
Ich weiß nur, dass UIButton eine Unterklasse von UIView ist, und wir können eine Schaltfläche in einer Ansicht anzeigen, indem wir sie zur Unteransicht dieser Klasse machen. Früher verwendete iOS standardmäßig Google Maps von MKMapView und ich habe Beispiele in Büchern und im Internet gesehen, in denen Screenshots von Apps gezeigt wurden, in denen eine Schaltfläche oder ein Textfeld auf der Karte angezeigt wurde. Jetzt hilft es beim SDK von Google Maps nicht mehr, nur die Schaltfläche im Interface Builder zu ziehen.
Hier ist mein Code:
ViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <GoogleMaps/GoogleMaps.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *btn;
@end
ViewController.m
#import "ViewController.h"
#import <MapKit/MapKit.h>
#import <GoogleMaps/GoogleMaps.h>
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()
@end
@implementation ViewController
{
GMSMapView *mapView_;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)loadView
{
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
[locationManager startUpdatingLocation];
//Latitude and longitude of the current location of the device.
double lati = locationManager.location.coordinate.latitude;
double longi = locationManager.location.coordinate.longitude;
NSLog(@"Latitude = %f", lati);
NSLog(@"Longitude = %f", longi);
CLLocation *myLocation = [[CLLocation alloc] initWithLatitude:lati longitude:longi];
// Create a GMSCameraPosition that tells the map to display the coordinate
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:lati
longitude:longi
zoom:11.5];
mapView_ = [GMSMapView mapWithFrame:[[UIScreen mainScreen] bounds] camera:camera];
mapView_.myLocationEnabled = YES;
self.view = mapView_;
// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(lati, longi);
marker.title = @"It's Me";
marker.snippet = @"My Location";
marker.map = mapView_;
[mapView_ addSubview:_btn];
[mapView_ bringSubviewToFront:_btn];
}
@end
Sie können sehen, dass ich in den letzten 2 Zeilen die Schaltfläche zur Unteransicht der Kartenansicht gemacht und versucht habe, sie nach vorne zu bringen. Aber das hat nicht geholfen. Bitte lassen Sie mich wissen, was ich vermisse oder ob es eine andere Möglichkeit gibt, dies mit einer anderen Funktion zu tun.
Bitte überprüfen Sie auch den Screenshot des Storyboards, das ich erstellt habe, damit Sie besser verstehen können, was ich hier versuche.
Vielen Dank.