我是iOS开发中的新手我制作一个Goggle地图支持的应用它显示用户当前位置但当我按下GMSMapView
上的CurrentLocation按钮然后我显示用户当前位置但我想显示用户到当前位置WithOut按键我的意思是当viewDidLoad
我用缩放显示直接当前位置时请帮帮我。
在这里,我写一个像我.h File
中的代码。
#import <UIKit/UIKit.h>
#import <GoogleMaps/GoogleMaps.h>
@interface MapViewController : UIViewController<GMSMapViewDelegate>
@property (nonatomic,retain) IBOutlet GMSMapView *mapView;
@end
.m File like as
的代码
- (void)viewDidLoad
{
[super viewDidLoad];
self.mapView.myLocationEnabled = YES;
self.mapView.mapType = kGMSTypeNormal;
self.mapView.settings.compassButton = YES;
self.mapView.settings.myLocationButton = YES;
self.mapView.delegate = self;
}
请帮助我显示当前位置没有当前位置按钮按。 并请帮助我如何在谷歌地图中获取当前位置地址。
感谢。
答案 0 :(得分:2)
尝试:
[self.mapView animateToLocation: self.mapView.myLocation.coordinate];
请注意,如果位置尚未确定,则myLocation
可能为nil
!您可以使用键值观察(KVO)来确定何时设置当前位置的动画。
-(void) viewDidLoad {
[super viewDidLoad];
[self.mapView addObserver:self forKeyPath:@"myLocation" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
if ([keyPath isEqualToString:@"myLocation"]) {
// Animate map to current location (This will run every time user location updates!
[self.mapView animateToLocation: self.mapView.myLocation.coordinate];
// You can remove self from observing 'myLocation' to only animate once
[self.mapView removeObserver:self forKeyPath:@"myLocation"];
}
}