我找不到任何相关信息,所以我才来问。当我使用谷歌在其网站上提供的代码时,我在 Controller 中获得全屏 map 。我希望能够在容器中显示它(固定宽度和高度)。
我正在使用 swift,非常感谢您的帮助。下面是我从google中提取的代码:
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.
}
最佳答案
您的 map 将与您正在使用的 View 一样大。您有 2 个选择。
- 1
创建特定大小的 subview 并将该 View 用于 GMSMapView,与您的操作方式相同。 2
而不是将 GMSMapView 分配给某些 View 使用view.insertSubview(mapView, atIndex:0)
请记住,在这种情况下,您必须为 GMSMapView 创建一个框架
var mapView = GMSMapView.mapWithFrame(CGRectMake(...))
这样做的好处是,如果您愿意,您可以在 map 上方添加其他组件(一些按钮、标签等),而第一种方法是不可能的。
编辑
这是我使用自动布局的方式。我在 Storyboard中创建了一些 View ,并对其进行了约束,以便它可以根据屏幕尺寸调整大小。 然后我初始化 map View 并使用自动调整大小 View 的大小并将我的 map View 插入到该 View 中。
mapView_ = [[GMSMapView alloc] initWithFrame:self.viewForMap.bounds];
mapView_.delegate = self;
mapView_.camera = camera;
[self.viewForMap insertSubview:mapView_ atIndex:0];
是的,我知道这是 Objective-C,但这只是一个示例。
关于ios - 更改 Google map 大小 iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29162063/