From c2fbd91c04f05d781f27a37b93c84a57284c36fb Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Wed, 26 Sep 2012 17:32:24 +0300 Subject: [PATCH] [ios] Fixed clicked coordinates for retina display --- iphone/Maps/Classes/MapViewController.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index 8af476c881..5fdf13a8a1 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -160,6 +160,7 @@ // Try to check if we've clicked on bookmark Framework & f = GetFramework(); CGFloat const scaleFactor = self.view.contentScaleFactor; + // @TODO Refactor point transformation m2::PointD pxClicked(point.x * scaleFactor, point.y * scaleFactor); BookmarkAndCategory const bmAndCat = f.GetBookmark(pxClicked); @@ -188,7 +189,8 @@ m2::PointD pxPivot; if (f.GetVisiblePOI(pxClicked, pxPivot, addrInfo)) { - m_balloonView.globalPosition = [self viewPoint2GlobalPoint:CGPointMake(pxPivot.x, pxPivot.y)]; + // @TODO Refactor point transformation + m_balloonView.globalPosition = [self viewPoint2GlobalPoint:CGPointMake(pxPivot.x / scaleFactor, pxPivot.y / scaleFactor)]; [self updatePinTexts:addrInfo]; [m_balloonView showInView:self.view atPoint:[self globalPoint2ViewPoint:m_balloonView.globalPosition] withBookmark:MakeEmptyBookmarkAndCategory()]; } @@ -198,7 +200,8 @@ if (isLongClick) { f.GetAddressInfo(pxClicked, addrInfo); - m_balloonView.globalPosition = [self viewPoint2GlobalPoint:CGPointMake(pxClicked.x, pxClicked.y)]; + // @TODO Refactor point transformation + m_balloonView.globalPosition = [self viewPoint2GlobalPoint:CGPointMake(point.x, point.y)]; [self updatePinTexts:addrInfo]; [m_balloonView showInView:self.view atPoint:point withBookmark:MakeEmptyBookmarkAndCategory()]; }