iphone - compass vanishes when MKMap is oriented to north in iOS -
i displaying map on iphone using mkmapview. map can rotate oriented respect iphone orentation using magnetic heading information.
i present compass vanishes each time map oriented north! reappears when phone rotated little bit further distracting.
the rotation functionality switched on when conditions met so:
@iboutlet weak var mapview: mkmapview! // here comes other code if settings.usemagneticheading && validuserlocation { mapview.isrotateenabled = true mapview.showscompass = true locationservice.startupdatingheading() }
the rotation performed delegate:
func tracingheading(currentheading: cllocationdirection) { if settings.usemagneticheading && validuserlocation { mapview.camera.heading = currentheading mapview.setcamera(mapview.camera, animated: true) } }
the corelocation stuff encapsulated in locationservice singleton.
how can 1 force show compass when map oriented north? guess behavior feature not bug seems undocumented. (found in ios 9 , ios 10)
you're right. behavior feature not bug.
in ios 11 can use compassvisibility
.
let compass = mkcompassbutton(mapview: mapview) compass.compassvisibility = .visible
https://developer.apple.com/documentation/mapkit/mkcompassbutton/2890262-compassvisibility
Comments
Post a Comment