2015-01-26 3 views
0

나는 iOS 개발에 초보자이다. 나는 고글지도를 만든다. 지원하는 앱. 사용자의 현재 위치를 보여 주지만 CurrentLocation Button을 내 GMSMapView에 넣으면 사용자의 현재 위치를 보여 주지만 현재 위치에 사용자를 표시하고 싶다. viewDidLoad i 줌으로 직접 위치 표시 도움말 도와주세요.보기가 iOS에서로드되었을 때 확대/축소에서 사용자의 현재 위치를 표시하는 방법?

여기에 .h File과 같은 코드를 작성하십시오. .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; 
} 

에 대한

#import <UIKit/UIKit.h> 
#import <GoogleMaps/GoogleMaps.h> 

@interface MapViewController : UIViewController<GMSMapViewDelegate> 
@property (nonatomic,retain) IBOutlet GMSMapView *mapView; 
@end 

그리고 코드 현재 위치 버튼을 눌러없이 표시 현재 위치는 제발 도와주세요. 그리고 Google지도에서 현재 위치 주소를 얻는 방법을 알려주세요.

감사합니다.

답변

2

시도 :

[self.mapView animateToLocation: self.mapView.myLocation.coordinate]; 

위치가 아직 결정되지 않은 경우 myLocationnil 될 수 있음을 명심하십시오! KVO (Key-Value Observing)를 사용하여 현재 위치에 애니메이션을 적용 할시기를 결정할 수 있습니다.

-(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"]; 
    } 
} 
+0

@thnks amrin하지만 시뮬레이트에서는 작동하지 않습니다. 위도와 경도에서 주소를 얻고 싶습니다. 어떻게 가능합니까? – Ramesh

+0

여기에 내가 내 위치에 DIrect를 확대하고 싶습니다. 설정되어 있지 않습니다. 확대/축소 위치를 My simulater에서 Mumbai 위치로 설정했을 때와 같습니다. 그런 다음 Mumbai 만 표시하지 않습니다. mumbai에서 완벽한 위치가 아닙니다. 제게 해결책을주십시오. 그것. – Ramesh

+0

'- (void) animateToZoom : (float) zoom' 메서드를 사용할 수 있습니다. 그래서 [self.mapView animateToZoom : zoomFloat]; ' – Armin

관련 문제