热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

openInMapsWithLaunchOptions不起作用?

如何解决《openInMapsWithLaunchOptions不起作用?》经验,为你挑选了1个好方法。



1> Eneko Alonso..:

Apple的文档没有提到它,但是从测试来看,似乎openInMapsWithLaunchOptions()忽略了MKLaunchOptionsMapSpanKey如果将一个或多个MKMapItem添加到地图中的选项.

以下代码按预期工作,修改距离参数时正确调整地图缩放(尝试使用1000和10000000,以查看差异):

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

但是,只要将一个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)
}


推荐阅读
author-avatar
额外的房间
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有