I'm passing in options for the map, but this does not seem to do anything with the zoom level?? It keeps the same low zoom level. What have I missed?
func openMapForPlace() {
let regionDistance:CLLocationDistance = 10000
var coordinates = CLLocationCoordinate2DMake(detailItem!.geoLatitude, detailItem!.geoLongitude)
let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates, regionDistance, regionDistance)
var options = [
MKLaunchOptionsMapCenterKey: NSValue(MKCoordinate: regionSpan.center),
MKLaunchOptionsMapSpanKey: NSValue(MKCoordinateSpan: regionSpan.span)
]
var placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil)
var mapItem = MKMapItem(placemark: placemark)
mapItem.name = detailItem!.cityName
mapItem.openInMapsWithLaunchOptions(options)
}
Apple's documentation does not mention it but from testing, it seems like
openInMapsWithLaunchOptions()
seems to ignore theMKLaunchOptionsMapSpanKey
option if one or moreMKMapItem
are added to the map.The following code works as expected, with the map zoom being adjusted properly when the distance parameter is modified (try with 1000 and 10000000, to see the difference):
However, as soon as one
MKMapItem
is added to the map, the zoom stops working.