更改谷歌地图大小iOS Swift
我在这上面找不到任何东西,所以我在问。当我在谷歌网站上使用谷歌提供的代码时,我会在控制器中得到一张全屏地图。我希望能够在容器中显示它(固定宽度和高度) 我正在使用swift,非常感谢您的帮助。下面是我从谷歌提取的代码:更改谷歌地图大小iOS Swift,ios,google-maps,swift,Ios,Google Maps,Swift,我在这上面找不到任何东西,所以我在问。当我在谷歌网站上使用谷歌提供的代码时,我会在控制器中得到一张全屏地图。我希望能够在容器中显示它(固定宽度和高度) 我正在使用swift,非常感谢您的帮助。下面是我从谷歌提取的代码: Override func viewDidLoad() { super.viewDidLoad() var camera = GMSCameraPosition.cameraWithLatitude(-33.86, lon
Override func viewDidLoad() {
super.viewDidLoad()
var camera = GMSCameraPosition.cameraWithLatitude(-33.86,
longitude: 151.20, zoom: 2)
var mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
mapView.myLocationEnabled = true
self.view = mapView
var marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
// Do any additional setup after loading the view.
}
您的地图将与您使用的视图一样大。你有两个选择
- 1
创建特定大小的子视图,并用同样的方法将该视图用于GMSMapView - 2
而不是将GMSMapView指定给某些视图使用
记住,在这种情况下,您必须为GMSMapView创建一个框架view.insertSubview(mapView, atIndex:0)
这样做的好处是,如果愿意,您可以在地图上方添加其他组件(一些按钮、标签等),这在第一种方法中是不可能的var mapView = GMSMapView.mapWithFrame(CGRectMake(...))
mapView_ = [[GMSMapView alloc] initWithFrame:self.viewForMap.bounds];
mapView_.delegate = self;
mapView_.camera = camera;
[self.viewForMap insertSubview:mapView_ atIndex:0];
是的,我知道这是Objective-C,但这只是一个示例。使用CGRectMake,其中包含要显示地图的容器的宽度和高度,而不是GcRectZero@milo526如果他将地图指定给特定的视图,它将始终延伸到该视图的大小,这就是为什么它与CGRectZero一起工作,当我通过CGRectMake(30,30,30,30)时,没有任何变化。我遗漏了什么吗?@ksa\u coder yes而不是
self.view=mapView
您需要使用self.view.insertSubview(mapView,atIndex:0)
谢谢@IxPaka。我们已经寻找这个解决方案大约一个小时了。