2015-02-10 29 views
7

मैं मानचित्र के लिए विकल्पों में जा रहा हूं, लेकिन यह ज़ूम स्तर के साथ कुछ भी नहीं प्रतीत होता है ?? यह वही कम ज़ूम स्तर रखता है। मुझे क्या याद आया?openInMapsWithLaunchOptions काम नहीं कर रहे हैं?

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) 
} 
+0

नहीं, मैं ऐप मैप के लिए गया था। – Bjarte

+0

हां, नक्शा एक बार जोड़ा गया है, यह मैप्स ऐप पर काम नहीं कर रहा है। एक ही मुद्दे के साथ कुछ धागे हैं। –

उत्तर

4

एप्पल के प्रलेखन यह उल्लेख नहीं है लेकिन परीक्षण से, यह openInMapsWithLaunchOptions() की तरह लगता है MKLaunchOptionsMapSpanKey विकल्प की उपेक्षा करता है, तो एक या अधिक MKMapItem नक्शे में जुड़ जाते हैं लगता है। जैसे ही एक के रूप में

func openMapForPlace() { 
    let regionDistance: CLLocationDistance = 10000000 
    let coordinates = CLLocationCoordinate2DMake(40, 0) 
    let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates, regionDistance, regionDistance) 
    let options = [ 
     MKLaunchOptionsMapCenterKey: NSValue(MKCoordinate: regionSpan.center), 
     MKLaunchOptionsMapSpanKey: NSValue(MKCoordinateSpan: regionSpan.span) 
    ] 

    MKMapItem.openMapsWithItems([], launchOptions: options) 
} 

हालांकि,: (अंतर देखने के लिए 1000 और 10000000 के साथ प्रयास करें,) के रूप में उम्मीद

निम्नलिखित कोड काम करता है, नक्शा ज़ूम समायोजित किया जा रहा ठीक से जब दूरी पैरामीटर संशोधित किया गया है साथ MKMapItem मानचित्र में जोड़ा गया है, ज़ूम काम करना बंद कर देता है।

func openMapForPlace() { 
    let regionDistance: CLLocationDistance = 10000000 
    let coordinates = CLLocationCoordinate2DMake(40, 0) 
    let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates, regionDistance, regionDistance) 
    let options = [ 
     MKLaunchOptionsMapCenterKey: NSValue(MKCoordinate: regionSpan.center), 
     MKLaunchOptionsMapSpanKey: NSValue(MKCoordinateSpan: regionSpan.span) 
    ] 

    let placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil) 
    let mapItem = MKMapItem(placemark: placemark) 
    mapItem.name = "Test" 

    MKMapItem.openMapsWithItems([mapItem], launchOptions: options) 
} 
संबंधित मुद्दे