如何将Google Map放入自定义UIView中

时间:2013-06-13 03:00:07

标签: xcode google-maps uiview

我知道这个问题之前已经被问过了,但是没有一个答案对我来说非常清楚,我找不到关于互联网的好教程...所以,我想把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

感谢您的帮助!

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;