Я новичок в программировании iOS, и я загрузил SDK Google Maps для iOS и следовал инструкциям на их веб-сайте (как показано в этой ссылке https://developers.google.com/maps/documentation/ios/start ) и смог получить карту в своем приложении.
Теперь я пытаюсь добавить кнопку на экран внизу над картами Google, чтобы дать пользователю возможность вернуться к предыдущему экрану.
Я просто знаю, что UIButton является подклассом UIView, и мы можем заставить кнопку отображаться в представлении, сделав ее подпредставлением этого класса. Раньше iOS использовала Google Maps по умолчанию с помощью MKMapView, и я видел примеры в книгах и в Интернете, показывающие снимки экрана приложений, где на карте появлялась кнопка или текстовое поле. Но теперь простое перетаскивание кнопки в конструкторе интерфейсов не помогает с SDK гугл карт.
Вот мой код:
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
Вы можете видеть, что в последних двух строках я сделал кнопку частью представления карты и попытался вывести ее на передний план. Но это не помогло. Пожалуйста, дайте мне знать, что мне не хватает, или есть ли другой способ сделать это с помощью какой-либо другой функции.
Пожалуйста, также проверьте скриншот раскадровки, которую я создал, чтобы вы могли лучше понять, что я пытаюсь здесь сделать.
Спасибо.