Google Maps API:获取当前位置iOS的坐标 [英] Google Maps API: Getting coordinates of current location iOS

查看:160
本文介绍了Google Maps API:获取当前位置iOS的坐标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前在我的项目中使用Google Maps API。我正在设置默认的摄像头/缩放到用户的位置。我这样做:

  @implementation ViewController {

GMSMapView * mapView_;

}
@synthesize currentLatitude,currentLongitude;

- (void)viewDidLoad
{
[super viewDidLoad];
mapView_.settings.myLocationButton = YES;
mapView_.myLocationEnabled = YES;


$ b - (void)loadView {

CLLocation * myLocation = mapView_.myLocation;

GMSMarker * marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(myLocation.coordinate.latitude,myLocation.coordinate.longitude);
marker.title = @当前位置;
marker.map = mapView_;
GMSCameraPosition * camera = [GMSCameraPosition cameraWithLatitude:myLocation.coordinate.latitude
longitude:myLocation.coordinate.longitude
zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

self.view = mapView_;
NSLog(@%f,%f,myLocation.coordinate.latitude,myLocation.coordinate.longitude);






$ b

然而,它不起作用,因为当我做

  NSLog(@%f,%f,myLocation.coordinate.latitude,myLocation.coordinate.longitude); 

它返回0,0,它不给出当前位置坐标。如何正确获取用户的坐标?

解决方案

.h

  #import< CoreLocation / CoreLocation.h> 
@property(nonatomic,retain)CLLocationManager * locationManager;

.m

   - (NSString *)deviceLocation 
{
NSString * theLocation = [NSString stringWithFormat:@latitude:%f longitude:%f,locationManager.location.coordinate.latitude,locationManager。 location.coordinate.longitude];
返回theLocation;
}

- (void)viewDidLoad
{
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];
}

回答


I am currently working with Google Maps API in my project. I am trying to set the default camera/zoom to the users location. I do this:

@implementation ViewController{

GMSMapView *mapView_;

}
@synthesize currentLatitude,currentLongitude;

- (void)viewDidLoad
{
[super viewDidLoad];
mapView_.settings.myLocationButton = YES;
mapView_.myLocationEnabled = YES;


}
- (void)loadView{

CLLocation *myLocation = mapView_.myLocation;

GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(myLocation.coordinate.latitude, myLocation.coordinate.longitude);
marker.title = @"Current Location";
marker.map = mapView_;
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:myLocation.coordinate.latitude
                                                        longitude:myLocation.coordinate.longitude
                                                             zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

self.view = mapView_;
   NSLog(@"%f, %f", myLocation.coordinate.latitude, myLocation.coordinate.longitude);

}

However, it does not work, since when I do

NSLog(@"%f, %f", myLocation.coordinate.latitude, myLocation.coordinate.longitude);

it returns 0, 0, and it does not give the current location coordinates. How can I properly get the user's coordinates?

解决方案

.h

#import <CoreLocation/CoreLocation.h>
@property(nonatomic,retain) CLLocationManager *locationManager;

.m

- (NSString *)deviceLocation 
{
NSString *theLocation = [NSString stringWithFormat:@"latitude: %f longitude: %f", locationManager.location.coordinate.latitude, locationManager.location.coordinate.longitude];
return theLocation;
}

- (void)viewDidLoad
{
    locationManager = [[CLLocationManager alloc] init];
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
    [locationManager startUpdatingLocation];
}

answered here.

这篇关于Google Maps API:获取当前位置iOS的坐标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆