Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Grechuhin <i.grechuhin@gmail.com>2017-04-04 16:46:09 +0300
committerIlya Grechuhin <i.grechuhin@gmail.com>2017-04-04 16:46:09 +0300
commit3453b66b685aa95d4f11fcf89f31b9b3ca9cf3e7 (patch)
tree3636671b44094b06c1e05a91e0d71062f5801cfa
parentd96e931b48da5ab79e48bb89875ae3463acea1cb (diff)
[MAPSME-4209] [ios] Attempt to fix crash.beta-731MAPSME-4209
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm15
1 files changed, 13 insertions, 2 deletions
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
index 15bdcd8439..6bf9363077 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
@@ -1,4 +1,5 @@
#import "MWMPlacePageManager.h"
+#import <Crashlytics/Crashlytics.h>
#import <Pushwoosh/PushNotificationManager.h>
#import "CLLocation+Mercator.h"
#import "MWMAPIBar.h"
@@ -21,6 +22,7 @@
#import "SwiftBridge.h"
#include "geometry/distance_on_sphere.hpp"
+#include "geometry/point2d.hpp"
#include "platform/measurement_utils.hpp"
@@ -176,10 +178,19 @@ void logSponsoredEvent(MWMPlacePageData * data, NSString * eventName)
- (void)onHeadingUpdate:(location::CompassInfo const &)info
{
CLLocation * lastLocation = [MWMLocationManager lastLocation];
- if (!lastLocation)
+ if (!lastLocation || !self.data)
return;
- CGFloat const angle = ang::AngleTo(lastLocation.mercator, self.data.mercator) + info.m_bearing;
+ auto const locationMercator = lastLocation.mercator;
+ auto const dataMercator = self.data.mercator;
+
+ if (my::AlmostEqualAbs(locationMercator, dataMercator, 1e-10))
+ return;
+
+ CLS_LOG(@"Heading from [%@,%@] to [%@,%@]", @(locationMercator.x), @(locationMercator.y),
+ @(dataMercator.x), @(dataMercator.y));
+
+ CGFloat const angle = ang::AngleTo(locationMercator, dataMercator) + info.m_bearing;
[self.layout rotateDirectionArrowToAngle:angle];
}