2013-07-03 3 views
3

iOS 용 최신 Google지도 SDK를 사용 중입니다. 아래 그림과 같이지도를 회전 할 수 없습니다.기기 나침반 값에 따라 Google지도를 회전하는 방법은 무엇입니까?

예 : MKMapview는 Compass Heading으로 회전 할 수 있습니다.

[mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES]; 

그래서 제 질문은 어떤 친구는 그 일이 Google지도 SDK에서 수행되어야하는 방법을 찾아 내게이 도와입니다.

나는 Google Map SDK에 관한 모든 것을 언급 했으므로 Map Compass 값에 따라지도를 회전하는 데 그러한 속성이나 방법을 찾지 마십시오.

나는 Compass 값에 관한이 링크를 참조했지만 그와 관련된 것을 찾을 수 없습니다. Google지도 아이폰 OS SDK에서이 기능에 대한 직접적인 단계가없는 것처럼

https://developers.google.com/maps/documentation/ios/map

답변

4

보인다. 아래의 2 가지 기능을 조합하여 필요한 효과를 얻을 수 있습니다.

1, 가끔 locationManager:didUpdateHeading:을 사용하여 현재 베어링을 읽습니다. Check this post을 참조하십시오.

2 새 베어링 값을 얻은 경우 [mapView_ animateToBearing:x]을 사용하여 베어링을 설정하십시오.

위의 게시물에 모든 링크를 결합하여
+0

감사합니다.대답을주는 것. 그것은 회전지도 작동합니다. –

0

는 여기에 Google지도 아이폰 OS SDK를 회전하는 시도이며

첫째는 CLLocationManager

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
    locationManager.delegate=self; 
    locationManager.desiredAccuracy=kCLLocationAccuracyBest; 
    locationManager.distanceFilter=kCLDistanceFilterNone; 
    [locationManager startUpdatingLocation]; 

    [locationManager startUpdatingHeading]; 

를 작성하고 CLLocationManager 년대를 사용하는 나를 위해 잘 작동 startUpdatingHeading 메서드는 표제가 변경 될 때마다 - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 대리자 메서드를 호출합니다. 이제 다음 코드를 사용하여 표제에 따라지도를 회전시킬 수 있습니다.

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 
{ 
    double heading = newHeading.trueHeading; 
    double headingDegrees = (heading*M_PI/180); 
    CLLocationDirection trueNorth = [newHeading trueHeading]; 
    [mapView_ animateToBearing:trueNorth]; 
} 
0

startUpdatingHeading 위치 관리자를 설정하고 전화 SWIFT 3.0

필요 :

class NavegacaoRotaViewController: UIViewController ,GMSMapViewDelegate,CLLocationManagerDelegate 

은 ...

self.locationManager = CLLocationManager() 
self.locationManager.delegate = self 
self.locationManager.startUpdatingHeading() 

그런 다음 다음 위임 방법을 포함하고 제목을 추출 할 수 있어야합니다 newHeading에서 제작 :

self.locationManager = [[CLLocationManager alloc] init]; 
self.locationManager.delegate = self; 
[self.locationManager startUpdatingHeading]; 

그런 다음 다음 위임 방법을 포함하고 추출 할 수 있어야한다 :

func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) { 
      googleMapsView.animate(toBearing: newHeading.trueHeading) 
} 

의 Obj-C

startUpdatingHeading를 위치 관리자를 설정하고 호출 할 필요가 newHeading의 진행 각도 :

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 
{ 
    NSLog(@"Updated heading: %@", newHeading); 
} 
+0

지도를 어떻게 북쪽으로 돌려 놓을 수 있습니까? 나침반이 보이면 사용자가 나침반을 누를 수 있고 그것이 북쪽으로 돌아가는 것을 알 수 있습니다.하지만 프로그래밍 방식으로 어떻게 할 수 있습니까? – pprevalon

관련 문제