IOS Google Map SDK - Google Map未更新到当前位置

时间:2014-03-05 05:09:18

标签: ios google-maps-sdk-ios gmsmapview

我正在尝试使用Google Map SDK for IOS在子视图中实现我当前的位置。我正在尝试将GMSMapView实现为IBOutlet。

我的标题文件包含代码

 #import <UIKit/UIKit.h>
 #import <Google-Maps-iOS-SDK/GoogleMaps/GoogleMaps.h>

 @interface TripLandingViewController : UIViewController

 @property IBOutlet GMSMapView *mapView;

 @end

我的.m文件包含代码

    self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"Tile.png"]];
    self.mapView.myLocationEnabled = TRUE;



    NSLog(@"\n\n\n My Location is %f,%f \n\n\n",self.mapView.myLocation.coordinate.latitude,self.mapView.myLocation.coordinate.longitude);

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:self.mapView.myLocation.coordinate.latitude
                                                           longitude:self.mapView.myLocation.coordinate.longitude
                                                             zoom:10];
    self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];

无论如何,我提供的硬编码值作为相机坐标的参数。我得到了错误的位置(这里是英国),它根本没有更新。

但相反,当我尝试

    self.View = [GMSMapView mapWithFrame:CGRectZero camera:camera];

我能够使用正确的位置坐标在主视图中加载正确的地图视图。

我尝试了通过stackoverflow将Google地图添加到SubViews的所有答案。

Cannot put a google maps GMSMapView in a subview of main main view?

How to set the frame for mapview - in google GMSMap for iOS6

How put Google MapView in UIView?

Google Maps iOS SDK, Getting Current Location of user

但似乎没有任何效果。请帮忙,因为我不熟悉IOS编程。

1 个答案:

答案 0 :(得分:2)

使用:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:0 longitude:0 zoom:15];
 self.mapView.camera = camera;

而不是使用:

self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];

我不完全确定原因,但是当GMSMapView是您UIViewController的子视图时,此方法有效。