Я новичок в программировании на iOS, и я загрузил карты Google для SDK для iOS и следую инструкциям на их веб-сайте (как показано в этой ссылке https://developers.google.com/maps/documentation/ios/start ) и смог получить карту в моем приложении.
Теперь я пытаюсь добавить кнопку на экране внизу по картам Google, чтобы дать пользователю возможность вернуться к предыдущему экрану.
Я просто знаю, что UIButton является подклассом UIView, и мы можем сделать кнопку, отображаемую в представлении, сделав ее под-представлением этого класса. Раньше iOS использовала Google Maps по умолчанию MKMapView, и я видел примеры в книгах в Интернете, показывающие снимки экрана приложений, на которых на карте появляется кнопка или текстовое поле. Но теперь просто перетаскивание кнопки в построителе интерфейса не помогает с SDK карт Google.
Вот мой код:
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 Me";
marker.snippet = @"My Location";
marker.map = mapView_;
[mapView_ addSubview:_btn];
[mapView_ bringSubviewToFront:_btn];
}
@end
Вы можете видеть, что в последних двух строках я сделал кнопку subview mapview и попытался перенести ее. Но это не помогло. Пожалуйста, дайте мне знать, что мне не хватает, или если есть другой способ сделать это, используя другую функцию.
Пожалуйста, также проверьте скриншот раскадровки, которую я создал, чтобы вы могли лучше понять, что я пытаюсь сделать здесь.
Спасибо.