我想将地图的中心初始化为自定义位置。这是我用于初始化的代码:
-(void)viewDidLoad{
[super viewDidLoad];
//mapView
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:41.0109
longitude:28.998
zoom:6];
self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
[self.mapView setCenter:CGPointMake(41.0109,28.998)];
}
当我运行这段代码时,我看到了一张以格林威治为中心的地图,而不是我给相机的位置(41.0109,28.998)。
当我调试代码并打印出 self.mapView.camera 的位置时,这是输出:GMSCameraPosition 0x17742ee0: target:(41.011, 28.998) bearing:0.000 zoomLevel:6.000 viewingAngle:0.000 lookAhead:0.000
。所以我成功设置了摄像头的位置,为什么打开的时候是格林威治的位置呢?
编辑:
请注意,mapView 是我添加到主页的子视图(UIView),我试图设置和修改中心位置。这是我的故事板的快照:
当我尝试修改 mapView 时,我无法设置地图的位置。但是,如果我使用作为窗口主视图的“视图”,我可以成功更改地图的中心。
为什么会这样?
如何设置 GMSMapView 的启动位置?
编辑 2 这个项目的源代码可以在这里找到