首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Google Map放在自定义的UIView中

如何将Google Map放在自定义的UIView中
EN

Stack Overflow用户
提问于 2013-06-13 11:00:07
回答 2查看 5.3K关注 0票数 2

我知道这个问题以前已经被问过了,但是没有一个答案对我来说是真正清楚的,我在互联网上也找不到好的教程……所以,我想把谷歌地图放在一个不同于主要的UIView中,以便能够在顶部显示我的菜单栏。

下面是我的实际代码:

代码语言:javascript
运行
复制
#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

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-13 20:06:25

我使用的是以下代码:

//头文件

代码语言:javascript
运行
复制
@property (strong, nonatomic) IBOutlet UIView *viewForMap;
@property (nonatomic, strong) IBOutlet GMSMapView *mapView;
@property (nonatomic, strong) IBOutlet GMSCameraPosition *camera;

//实现文件

代码语言:javascript
运行
复制
 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];

更新

要更改映射类型,请执行以下操作:

代码语言:javascript
运行
复制
self.mapView.mapType = kGMSTypeHybrid; //kGMSTypeNormal kGMSTypeHybrid kGMSTypeSatellite kGMSTypeTerrain

要再次更改摄影机视图,请执行以下操作:

代码语言:javascript
运行
复制
_mapView.camera = [GMSCameraPosition cameraWithLatitude:newLat
                                                  longitude:newLong
                                                       zoom:1
                                                    bearing:0
                                               viewingAngle:0
                       ];

别忘了添加头文件:

代码语言:javascript
运行
复制
<GMSMapViewDelegate>
票数 5
EN

Stack Overflow用户

发布于 2015-09-26 14:34:35

首先创建UIView的出口

代码语言:javascript
运行
复制
#import <GoogleMapsM4B/GoogleMaps.h>
@interface ViewController : UIViewController<GMSMapViewDelegate>
@property (strong, nonatomic) IBOutlet GMSMapView *mapView;

在.h文件中添加此文件

现在将其添加到视图didload方法中的.m文件中

代码语言:javascript
运行
复制
self.mapView.myLocationEnabled = YES;
self.mapView.mapType = kGMSTypeNormal;
self.mapView.settings.compassButton = YES;
self.mapView.settings.myLocationButton = YES;
self.mapView.delegate = self;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17078485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档