我知道这个问题之前已经被问过了,但是没有一个答案对我来说非常清楚,我找不到关于互联网的好教程...所以,我想把Google地图放在不同的UIView中主要的一个,以便能够在我的菜单栏上显示。
这是我的实际代码:
#import "MapViewController.h"
#import <GoogleMaps/GoogleMaps.h>
@implementation MapViewController
- (void)viewDidLoad {
[super viewDidLoad];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:46.809885
longitude:-71.184556
zoom:18];
mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
self.view = mapView;
mapView.mapType = kGMSTypeHybrid;
}
@end
实际上,地图遍布应用程序。它已经将我的UIView类设置为GMSKMapView,并创建了一个插座名称mapView来链接我的UIView和控制器。
我使用Xcode 4.6.2
感谢您的帮助!
答案 0 :(得分:5)
我正在使用此代码:
//头文件
@property (strong, nonatomic) IBOutlet UIView *viewForMap;
@property (nonatomic, strong) IBOutlet GMSMapView *mapView;
@property (nonatomic, strong) IBOutlet GMSCameraPosition *camera;
//实施文件
self.camera = [GMSCameraPosition cameraWithLatitude:46.2220
longitude:25.2330 zoom:5
bearing:0
viewingAngle:0
];
self.mapView = [GMSMapView mapWithFrame:_viewForMap.bounds camera:_camera];
self.mapView.delegate = self;
[self.viewForMap addSubview:_mapView];
<强> UPD 强>
更改地图类型:
self.mapView.mapType = kGMSTypeHybrid; //kGMSTypeNormal kGMSTypeHybrid kGMSTypeSatellite kGMSTypeTerrain
再次更改相机视图:
_mapView.camera = [GMSCameraPosition cameraWithLatitude:newLat
longitude:newLong
zoom:1
bearing:0
viewingAngle:0
];
不要忘记添加头文件:
<GMSMapViewDelegate>
答案 1 :(得分:1)
首先创建UIView的出口
#import <GoogleMapsM4B/GoogleMaps.h>
@interface ViewController : UIViewController<GMSMapViewDelegate>
@property (strong, nonatomic) IBOutlet GMSMapView *mapView;
在.h档案中添加此内容
现在在视图didload方法<。p>中的.m文件中添加它
self.mapView.myLocationEnabled = YES;
self.mapView.mapType = kGMSTypeNormal;
self.mapView.settings.compassButton = YES;
self.mapView.settings.myLocationButton = YES;
self.mapView.delegate = self;