Sono nuovo alla programmazione iOS e ho poche conoscenze su COCOA Touch. Sto cercando di aggiungere un pulsante sullo schermo nella parte inferiore delle mappe di Google per dare un'opzione all'utente di tornare alla schermata precedente. So solo che UIButton
è una sottoclasse di UIView
e possiamo far apparire il pulsante su una vista rendendolo la vista secondaria di quella classe. In precedenza iOS utilizzava Google Maps per impostazione predefinita in MKMapView
e ho visto esempi nei libri e su Internet che mostravano schermate di app in cui un pulsante o una casella di testo venivano visualizzati sulla mappa. Ma ora il semplice trascinamento del pulsante nel builder dell'interfaccia non aiuta.Aggiunta di una sottoview come UISlider o UIButtom in Google Maps in iPhone
Ecco il mio codice:
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
favore fatemi k ora come può essere fatto.
Grazie.
mappe e MKMapView google non sono relative e hanno un set di funzionalità diffent/seguire un approccio diverso –
ma .. solo fare il cursore una visualizzazione secondaria della mappa. funzionerebbe bene con MKMapView –
So che funzionerebbe bene con MKMapView. Ma per quanto ne so MKMapView non mi avrebbe dato Google Maps. Mi darà le mappe fornite da Apple. Questo è il mio vero problema –