Disable compass on MKMapViewHow to hide circular compass icon on MKMapview in iOSHow can I disable the UITableView selection?iPhone 3D compassCompass True Heading in iPhone/iPadHow to disable scrolling in UITableView table when the content fits on the screenMKMapView addAnnotation not on the MapViewMKMapView addAnnotations crashHow to disable compass usage in Google Maps for iOS?is there a way of showing MKMapView from an angle (not directly from the top) on a specific zoom level?Disable two finger tap zoom out on MKMapView?How to adjust the compass to the map in osmdroid
How does buying out courses with grant money work?
How to Reset Passwords on Multiple Websites Easily?
Sort a list by elements of another list
Type int? vs type int
What can we do to stop prior company from asking us questions?
How does Loki do this?
Large drywall patch supports
How to be diplomatic in refusing to write code that breaches the privacy of our users
How did Doctor Strange see the winning outcome in Avengers: Infinity War?
Pole-zeros of a real-valued causal FIR system
How does it work when somebody invests in my business?
Why, precisely, is argon used in neutrino experiments?
System.debug(JSON.Serialize(o)) Not longer shows full string
Lay out the Carpet
Class Action - which options I have?
Gears on left are inverse to gears on right?
Inappropriate reference requests from Journal reviewers
Is there a korbon needed for conversion?
Purchasing a ticket for someone else in another country?
How easy is it to start Magic from scratch?
I'm in charge of equipment buying but no one's ever happy with what I choose. How to fix this?
when is out of tune ok?
How long to clear the 'suck zone' of a turbofan after start is initiated?
How do I extract a value from a time formatted value in excel?
Disable compass on MKMapView
How to hide circular compass icon on MKMapview in iOSHow can I disable the UITableView selection?iPhone 3D compassCompass True Heading in iPhone/iPadHow to disable scrolling in UITableView table when the content fits on the screenMKMapView addAnnotation not on the MapViewMKMapView addAnnotations crashHow to disable compass usage in Google Maps for iOS?is there a way of showing MKMapView from an angle (not directly from the top) on a specific zoom level?Disable two finger tap zoom out on MKMapView?How to adjust the compass to the map in osmdroid
I am using a MapView in my app to show some annotations. In iOS 7 a compass appears randomly on the map. I can't reproduce the error because it appears randomly but I want to disable it.
Any ideas how to disable it?
Update: I found out is not appears randomly but on a specific gesture. When you use 2 fingers and slide one right and the other left.
ios macos mapkit compass-geolocation
add a comment |
I am using a MapView in my app to show some annotations. In iOS 7 a compass appears randomly on the map. I can't reproduce the error because it appears randomly but I want to disable it.
Any ideas how to disable it?
Update: I found out is not appears randomly but on a specific gesture. When you use 2 fingers and slide one right and the other left.
ios macos mapkit compass-geolocation
2
That gesture is also known as "rotate"
– Craig
Oct 8 '13 at 21:09
add a comment |
I am using a MapView in my app to show some annotations. In iOS 7 a compass appears randomly on the map. I can't reproduce the error because it appears randomly but I want to disable it.
Any ideas how to disable it?
Update: I found out is not appears randomly but on a specific gesture. When you use 2 fingers and slide one right and the other left.
ios macos mapkit compass-geolocation
I am using a MapView in my app to show some annotations. In iOS 7 a compass appears randomly on the map. I can't reproduce the error because it appears randomly but I want to disable it.
Any ideas how to disable it?
Update: I found out is not appears randomly but on a specific gesture. When you use 2 fingers and slide one right and the other left.
ios macos mapkit compass-geolocation
ios macos mapkit compass-geolocation
edited Nov 23 '15 at 17:09
Mark Amery
64.4k31257304
64.4k31257304
asked Oct 5 '13 at 9:02
BlackMBlackM
2,18863157
2,18863157
2
That gesture is also known as "rotate"
– Craig
Oct 8 '13 at 21:09
add a comment |
2
That gesture is also known as "rotate"
– Craig
Oct 8 '13 at 21:09
2
2
That gesture is also known as "rotate"
– Craig
Oct 8 '13 at 21:09
That gesture is also known as "rotate"
– Craig
Oct 8 '13 at 21:09
add a comment |
8 Answers
8
active
oldest
votes
You can disable the compass easily on OSX 10.9 / iOS 9 and later with the showsCompass
property:
yourMapView.showsCompass = NO;
On iOS 8 or earlier, your choices are:
Suck it up and live with it.
Use a hack, like:
position the map to hide the compass offscreen (credit goes to Alex Wien), or
walk the view hierarchy of the map to find the view representing the compass and remove it (credit goes to David Topolansky).
If you're not rotating the map programatically and it hasn't already been rotated, disable rotation entirely, using
mapView.rotateEnabled = NO;
The compass only shows up when the map is rotated, so by doing this you ensure that the compass is never triggered.
It's not clear to me why Apple waited so long to allow hiding the compass on iOS, and none of the options above are ideal. Pick whichever you think is the least bad in your case.
add a comment |
I found a solution to your problem, using Mark Amery's idea about traversing the MKMapView
instance subviews to find the compass, along with the use of gesture recognition to trigger the removal event.
To find the compass I printed out the description of the views and found that one of the views was an instance of MKCompassView
, this was obviously the compass.
I have come up with the following code that should work for you. It checks for a rotation gesture, and then removes the view in method triggered by the gesture event.
I have tested this method and it works well for me:
- (void)viewDidLoad
[super viewDidLoad];
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.mapView addGestureRecognizer:rotateGesture];
-(void)rotate:(UIRotationGestureRecognizer *)gesture
if ([gesture state] == UIGestureRecognizerStateBegan
1
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
add a comment |
Create a wrapper UIView
with the frame you want for your map and clipsToBounds
set to YES
(or equivalently, Clip Subviews set in Interface Builder). Then put your MKMapView
inside that wrapper view, with the y co-ordinate of the map's frame set to, for example, -80
, and the height of the map set such that its vertical center is aligned with its parent.
Then the compass will be displayed but you cannot see it, because it is above the top of its parent view - problem solved.
add a comment |
Here is solution for Swift 4:
mapView.compassView.isHidden = true
add a comment |
Here swift code:
let mapRotateGesture = UIRotationGestureRecognizer(target: self, action: "didRotateMap:")
mapRotateGesture.delegate = self
self.map.addGestureRecognizer(mapRotateGesture)
func didRotateMap(gesture: UIGestureRecognizer)
// Removeing compass
if (gesture.state == .Began
add a comment |
You can hide the compass on MKMapView while rotating the map by adding below line in viewDidLoad method in all iOS:
[self.mapView setLayoutMargins:UIEdgeInsetsMake(-50, 0, -50, 0)];
add a comment |
Completely hides the compass and does not rotate the map
mapView.allowsRotating = false
Swift 4, Mapbox-iOS-SDK (4.9.0)
add a comment |
As I understand what you want is to forbid showing user's current location.
You should use @property(nonatomic) BOOL showsUserLocation.
Docs on this
Assume that @property(nonatomic) MKUserTrackingMode userTrackingMode
can't enable or disable tracking, it's just changes the mode between not following, following and following with rotating.
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
1
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f19195936%2fdisable-compass-on-mkmapview%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can disable the compass easily on OSX 10.9 / iOS 9 and later with the showsCompass
property:
yourMapView.showsCompass = NO;
On iOS 8 or earlier, your choices are:
Suck it up and live with it.
Use a hack, like:
position the map to hide the compass offscreen (credit goes to Alex Wien), or
walk the view hierarchy of the map to find the view representing the compass and remove it (credit goes to David Topolansky).
If you're not rotating the map programatically and it hasn't already been rotated, disable rotation entirely, using
mapView.rotateEnabled = NO;
The compass only shows up when the map is rotated, so by doing this you ensure that the compass is never triggered.
It's not clear to me why Apple waited so long to allow hiding the compass on iOS, and none of the options above are ideal. Pick whichever you think is the least bad in your case.
add a comment |
You can disable the compass easily on OSX 10.9 / iOS 9 and later with the showsCompass
property:
yourMapView.showsCompass = NO;
On iOS 8 or earlier, your choices are:
Suck it up and live with it.
Use a hack, like:
position the map to hide the compass offscreen (credit goes to Alex Wien), or
walk the view hierarchy of the map to find the view representing the compass and remove it (credit goes to David Topolansky).
If you're not rotating the map programatically and it hasn't already been rotated, disable rotation entirely, using
mapView.rotateEnabled = NO;
The compass only shows up when the map is rotated, so by doing this you ensure that the compass is never triggered.
It's not clear to me why Apple waited so long to allow hiding the compass on iOS, and none of the options above are ideal. Pick whichever you think is the least bad in your case.
add a comment |
You can disable the compass easily on OSX 10.9 / iOS 9 and later with the showsCompass
property:
yourMapView.showsCompass = NO;
On iOS 8 or earlier, your choices are:
Suck it up and live with it.
Use a hack, like:
position the map to hide the compass offscreen (credit goes to Alex Wien), or
walk the view hierarchy of the map to find the view representing the compass and remove it (credit goes to David Topolansky).
If you're not rotating the map programatically and it hasn't already been rotated, disable rotation entirely, using
mapView.rotateEnabled = NO;
The compass only shows up when the map is rotated, so by doing this you ensure that the compass is never triggered.
It's not clear to me why Apple waited so long to allow hiding the compass on iOS, and none of the options above are ideal. Pick whichever you think is the least bad in your case.
You can disable the compass easily on OSX 10.9 / iOS 9 and later with the showsCompass
property:
yourMapView.showsCompass = NO;
On iOS 8 or earlier, your choices are:
Suck it up and live with it.
Use a hack, like:
position the map to hide the compass offscreen (credit goes to Alex Wien), or
walk the view hierarchy of the map to find the view representing the compass and remove it (credit goes to David Topolansky).
If you're not rotating the map programatically and it hasn't already been rotated, disable rotation entirely, using
mapView.rotateEnabled = NO;
The compass only shows up when the map is rotated, so by doing this you ensure that the compass is never triggered.
It's not clear to me why Apple waited so long to allow hiding the compass on iOS, and none of the options above are ideal. Pick whichever you think is the least bad in your case.
edited May 23 '17 at 12:16
Community♦
11
11
answered Oct 5 '13 at 10:29
Mark AmeryMark Amery
64.4k31257304
64.4k31257304
add a comment |
add a comment |
I found a solution to your problem, using Mark Amery's idea about traversing the MKMapView
instance subviews to find the compass, along with the use of gesture recognition to trigger the removal event.
To find the compass I printed out the description of the views and found that one of the views was an instance of MKCompassView
, this was obviously the compass.
I have come up with the following code that should work for you. It checks for a rotation gesture, and then removes the view in method triggered by the gesture event.
I have tested this method and it works well for me:
- (void)viewDidLoad
[super viewDidLoad];
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.mapView addGestureRecognizer:rotateGesture];
-(void)rotate:(UIRotationGestureRecognizer *)gesture
if ([gesture state] == UIGestureRecognizerStateBegan
1
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
add a comment |
I found a solution to your problem, using Mark Amery's idea about traversing the MKMapView
instance subviews to find the compass, along with the use of gesture recognition to trigger the removal event.
To find the compass I printed out the description of the views and found that one of the views was an instance of MKCompassView
, this was obviously the compass.
I have come up with the following code that should work for you. It checks for a rotation gesture, and then removes the view in method triggered by the gesture event.
I have tested this method and it works well for me:
- (void)viewDidLoad
[super viewDidLoad];
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.mapView addGestureRecognizer:rotateGesture];
-(void)rotate:(UIRotationGestureRecognizer *)gesture
if ([gesture state] == UIGestureRecognizerStateBegan
1
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
add a comment |
I found a solution to your problem, using Mark Amery's idea about traversing the MKMapView
instance subviews to find the compass, along with the use of gesture recognition to trigger the removal event.
To find the compass I printed out the description of the views and found that one of the views was an instance of MKCompassView
, this was obviously the compass.
I have come up with the following code that should work for you. It checks for a rotation gesture, and then removes the view in method triggered by the gesture event.
I have tested this method and it works well for me:
- (void)viewDidLoad
[super viewDidLoad];
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.mapView addGestureRecognizer:rotateGesture];
-(void)rotate:(UIRotationGestureRecognizer *)gesture
if ([gesture state] == UIGestureRecognizerStateBegan
I found a solution to your problem, using Mark Amery's idea about traversing the MKMapView
instance subviews to find the compass, along with the use of gesture recognition to trigger the removal event.
To find the compass I printed out the description of the views and found that one of the views was an instance of MKCompassView
, this was obviously the compass.
I have come up with the following code that should work for you. It checks for a rotation gesture, and then removes the view in method triggered by the gesture event.
I have tested this method and it works well for me:
- (void)viewDidLoad
[super viewDidLoad];
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.mapView addGestureRecognizer:rotateGesture];
-(void)rotate:(UIRotationGestureRecognizer *)gesture
if ([gesture state] == UIGestureRecognizerStateBegan
answered Feb 28 '14 at 17:11
David TopolanskyDavid Topolansky
7112
7112
1
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
add a comment |
1
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
1
1
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Would this count as "using a private API," and get flagged during Apple's scan of your binary?
– Matt H.
Mar 13 '14 at 23:00
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Nice - I'm surprised it turns out that this hack is so simple to implement and understand. I don't have access to a Mac nowadays, so I'm not able to test this, but will take your word for it that it works. I've edited a link to your answer into mine.
– Mark Amery
Apr 13 '14 at 12:17
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
Doesn't work for me (iOS 8.1.2).. :(
– Aleksander
Jan 5 '15 at 23:59
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
The rotate gesture doesn't work for me, but I implemented - (void)viewDidLayoutSubviews method of my view controller and moved the code there, now it works.
– Andrei Marincas
May 7 '15 at 13:23
add a comment |
Create a wrapper UIView
with the frame you want for your map and clipsToBounds
set to YES
(or equivalently, Clip Subviews set in Interface Builder). Then put your MKMapView
inside that wrapper view, with the y co-ordinate of the map's frame set to, for example, -80
, and the height of the map set such that its vertical center is aligned with its parent.
Then the compass will be displayed but you cannot see it, because it is above the top of its parent view - problem solved.
add a comment |
Create a wrapper UIView
with the frame you want for your map and clipsToBounds
set to YES
(or equivalently, Clip Subviews set in Interface Builder). Then put your MKMapView
inside that wrapper view, with the y co-ordinate of the map's frame set to, for example, -80
, and the height of the map set such that its vertical center is aligned with its parent.
Then the compass will be displayed but you cannot see it, because it is above the top of its parent view - problem solved.
add a comment |
Create a wrapper UIView
with the frame you want for your map and clipsToBounds
set to YES
(or equivalently, Clip Subviews set in Interface Builder). Then put your MKMapView
inside that wrapper view, with the y co-ordinate of the map's frame set to, for example, -80
, and the height of the map set such that its vertical center is aligned with its parent.
Then the compass will be displayed but you cannot see it, because it is above the top of its parent view - problem solved.
Create a wrapper UIView
with the frame you want for your map and clipsToBounds
set to YES
(or equivalently, Clip Subviews set in Interface Builder). Then put your MKMapView
inside that wrapper view, with the y co-ordinate of the map's frame set to, for example, -80
, and the height of the map set such that its vertical center is aligned with its parent.
Then the compass will be displayed but you cannot see it, because it is above the top of its parent view - problem solved.
edited Oct 11 '13 at 14:19
Mark Amery
64.4k31257304
64.4k31257304
answered Oct 11 '13 at 13:10
AlexWienAlexWien
25.2k54172
25.2k54172
add a comment |
add a comment |
Here is solution for Swift 4:
mapView.compassView.isHidden = true
add a comment |
Here is solution for Swift 4:
mapView.compassView.isHidden = true
add a comment |
Here is solution for Swift 4:
mapView.compassView.isHidden = true
Here is solution for Swift 4:
mapView.compassView.isHidden = true
answered Nov 13 '17 at 16:41
mirapmirap
9631020
9631020
add a comment |
add a comment |
Here swift code:
let mapRotateGesture = UIRotationGestureRecognizer(target: self, action: "didRotateMap:")
mapRotateGesture.delegate = self
self.map.addGestureRecognizer(mapRotateGesture)
func didRotateMap(gesture: UIGestureRecognizer)
// Removeing compass
if (gesture.state == .Began
add a comment |
Here swift code:
let mapRotateGesture = UIRotationGestureRecognizer(target: self, action: "didRotateMap:")
mapRotateGesture.delegate = self
self.map.addGestureRecognizer(mapRotateGesture)
func didRotateMap(gesture: UIGestureRecognizer)
// Removeing compass
if (gesture.state == .Began
add a comment |
Here swift code:
let mapRotateGesture = UIRotationGestureRecognizer(target: self, action: "didRotateMap:")
mapRotateGesture.delegate = self
self.map.addGestureRecognizer(mapRotateGesture)
func didRotateMap(gesture: UIGestureRecognizer)
// Removeing compass
if (gesture.state == .Began
Here swift code:
let mapRotateGesture = UIRotationGestureRecognizer(target: self, action: "didRotateMap:")
mapRotateGesture.delegate = self
self.map.addGestureRecognizer(mapRotateGesture)
func didRotateMap(gesture: UIGestureRecognizer)
// Removeing compass
if (gesture.state == .Began
answered Aug 27 '15 at 12:25
Michał JurczukMichał Jurczuk
1,84912240
1,84912240
add a comment |
add a comment |
You can hide the compass on MKMapView while rotating the map by adding below line in viewDidLoad method in all iOS:
[self.mapView setLayoutMargins:UIEdgeInsetsMake(-50, 0, -50, 0)];
add a comment |
You can hide the compass on MKMapView while rotating the map by adding below line in viewDidLoad method in all iOS:
[self.mapView setLayoutMargins:UIEdgeInsetsMake(-50, 0, -50, 0)];
add a comment |
You can hide the compass on MKMapView while rotating the map by adding below line in viewDidLoad method in all iOS:
[self.mapView setLayoutMargins:UIEdgeInsetsMake(-50, 0, -50, 0)];
You can hide the compass on MKMapView while rotating the map by adding below line in viewDidLoad method in all iOS:
[self.mapView setLayoutMargins:UIEdgeInsetsMake(-50, 0, -50, 0)];
answered Dec 2 '15 at 10:08
sajgan2015sajgan2015
265310
265310
add a comment |
add a comment |
Completely hides the compass and does not rotate the map
mapView.allowsRotating = false
Swift 4, Mapbox-iOS-SDK (4.9.0)
add a comment |
Completely hides the compass and does not rotate the map
mapView.allowsRotating = false
Swift 4, Mapbox-iOS-SDK (4.9.0)
add a comment |
Completely hides the compass and does not rotate the map
mapView.allowsRotating = false
Swift 4, Mapbox-iOS-SDK (4.9.0)
Completely hides the compass and does not rotate the map
mapView.allowsRotating = false
Swift 4, Mapbox-iOS-SDK (4.9.0)
answered Mar 7 at 12:53
AleksandrAleksandr
1
1
add a comment |
add a comment |
As I understand what you want is to forbid showing user's current location.
You should use @property(nonatomic) BOOL showsUserLocation.
Docs on this
Assume that @property(nonatomic) MKUserTrackingMode userTrackingMode
can't enable or disable tracking, it's just changes the mode between not following, following and following with rotating.
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
1
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
add a comment |
As I understand what you want is to forbid showing user's current location.
You should use @property(nonatomic) BOOL showsUserLocation.
Docs on this
Assume that @property(nonatomic) MKUserTrackingMode userTrackingMode
can't enable or disable tracking, it's just changes the mode between not following, following and following with rotating.
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
1
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
add a comment |
As I understand what you want is to forbid showing user's current location.
You should use @property(nonatomic) BOOL showsUserLocation.
Docs on this
Assume that @property(nonatomic) MKUserTrackingMode userTrackingMode
can't enable or disable tracking, it's just changes the mode between not following, following and following with rotating.
As I understand what you want is to forbid showing user's current location.
You should use @property(nonatomic) BOOL showsUserLocation.
Docs on this
Assume that @property(nonatomic) MKUserTrackingMode userTrackingMode
can't enable or disable tracking, it's just changes the mode between not following, following and following with rotating.
answered Oct 5 '13 at 9:30
Vladislav MazurVladislav Mazur
1
1
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
1
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
add a comment |
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
1
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
No, I need to show the user location. What I don't need is the compass.
– BlackM
Oct 5 '13 at 9:46
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
I found out is not appears randomly but on a specific gesture. When you use 2 fingers and the one slide right and the other left.
– BlackM
Oct 5 '13 at 9:55
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
Well, now I understand what you want. The only way docs show to us to disable map's rotating using rotateEnabled. This will prevent rotate Gesture from being enabled.
– Vladislav Mazur
Oct 5 '13 at 10:15
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
And if you need to rotate your map, you can add UIRotationGestureRecognizer to map's view add rotate it in way you want using [mapView setTransform:CGAffineTransformMakeRotation(rotation)]; and annotations too.
– Vladislav Mazur
Oct 5 '13 at 10:38
1
1
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
@VladislavMazur What is so difficult to understand? He want to disable the compass when he wants, and keep the rotation feature.
– AlexWien
Oct 11 '13 at 13:12
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f19195936%2fdisable-compass-on-mkmapview%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
That gesture is also known as "rotate"
– Craig
Oct 8 '13 at 21:09