Ich bin neu in der iOS-Programmierung und habe nur sehr wenig Wissen über COCOA Touch. Ich versuche, auf dem Bildschirm unten auf Google Maps eine Schaltfläche 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 die Schaltfläche in einer Ansicht erscheinen lassen, indem wir sie zur Unteransicht dieser Klasse machen. Zuvor verwendete iOS standardmäßig Google Maps unter MKMapView
und ich habe Beispiele in Büchern und im Internet gesehen, die Screenshots von Apps zeigen, wo eine Schaltfläche oder ein Textfeld auf der Karte erscheinen würde. Aber das Ziehen der Schaltfläche im Interface Builder hilft jetzt nicht.Hinzufügen einer Unteransicht wie UISlider oder UIButtom in Google Maps im iPhone
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
Bitte lassen Sie mich k jetzt, wie es gemacht werden kann.
Danke.
Google Maps und MKMapView sind nicht verwendet und haben ein diffent Feature-Set/folgen einem anderen Ansatz –
aber .. nur den Schieber einen Subview von der Karte machen. würde gut mit MKMapView funktionieren –
Ich weiß, dass es gut mit MKMapView funktionieren würde. Aber soweit ich weiß, würde MKMapView mir Google Maps nicht geben. Es wird mir die Karten von Apple zur Verfügung stellen. Das ist mein wirkliches Problem. –