diff --git a/iphone/Maps/Classes/PlacePageView.mm b/iphone/Maps/Classes/PlacePageView.mm index 8ab5d52177..0c3015e673 100644 --- a/iphone/Maps/Classes/PlacePageView.mm +++ b/iphone/Maps/Classes/PlacePageView.mm @@ -203,6 +203,8 @@ typedef NS_ENUM(NSUInteger, CellRow) cell.selectedColorView.alpha = [self isBookmark] ? 1 : 0; cell.delegate = self; cell.myPositionMode = [self isMyPosition]; + [[MapsAppDelegate theApp].m_locationManager triggerCompass]; + return cell; } else if (row == CellRowSet) diff --git a/iphone/Maps/Platform/LocationManager.h b/iphone/Maps/Platform/LocationManager.h index 77b452d411..f1618139da 100644 --- a/iphone/Maps/Platform/LocationManager.h +++ b/iphone/Maps/Platform/LocationManager.h @@ -40,5 +40,6 @@ - (bool)lastLocationIsValid; - (BOOL)enabledOnMap; +- (void)triggerCompass; @end diff --git a/iphone/Maps/Platform/LocationManager.mm b/iphone/Maps/Platform/LocationManager.mm index e6b4cd85a7..215b6e9c33 100644 --- a/iphone/Maps/Platform/LocationManager.mm +++ b/iphone/Maps/Platform/LocationManager.mm @@ -129,6 +129,11 @@ info.m_speed = location.speed; } +- (void)triggerCompass +{ + [self locationManager:m_locationManager didUpdateHeading:m_locationManager.heading]; +} + - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading { // Stop passing driving course if last time stamp for GPS location is later than 20 seconds.