Jak dodać przycisk na mapach Google w iOS?
Jestem nowy w programowaniu na iOS i pobrałem mapy google sdk na iOS i postępowałem zgodnie z instrukcją na ich stronie (jak pokazano w tym linkuhttps://developers.google.com/maps/documentation/ios/start ) i udało mi się uzyskać mapę w mojej aplikacji.
Teraz próbuję dodać przycisk na ekranie u dołu nad mapami Google, aby dać użytkownikowi możliwość powrotu do poprzedniego ekranu.
Po prostu wiem, że UIButton jest podklasą UIView i możemy sprawić, że przycisk pojawi się w widoku, czyniąc go widokiem podrzędnym tej klasy. Wcześniej iOS używał Google Maps domyślnie przez MKMapView i widziałem przykłady w książkach iw Internecie pokazujące zrzuty ekranu aplikacji, w których przycisk lub pole tekstowe pojawiały się na mapie. Ale teraz przeciągnięcie przycisku w budowniczym interfejsu nie pomaga w zestawie SDK map google.
Oto mój kod:
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
Widać, że w ostatnich 2 liniach zrobiłem przycisk podglądzie mapview i próbowałem go uruchomić. Ale to nie pomogło. Daj mi znać, czego mi brakuje lub czy jest inny sposób, aby to zrobić za pomocą innej funkcji.
Sprawdź także zrzut ekranu storyboardu, który stworzyłem, abyś mógł lepiej zrozumieć, co próbuję tutaj zrobić.
Dzięki.