首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速地将经纬度数组传递给CLLocationCoordinate2DMake

快速地将经纬度数组传递给CLLocationCoordinate2DMake
EN

Stack Overflow用户
提问于 2018-02-28 15:35:47
回答 1查看 1.4K关注 0票数 0

我有两个数组,一个是纬度,另一个是经度。我想把它传递给CLLocationCoordinate2DMake。从响应来看,我得到的是纬度和经度,但它们是字符串格式的。我要把它转换成双倍。但是当我传递这个数组时,它会显示一个错误Cannot convert value of type '[Double]' to expected argument type 'CLLocationDegrees' (aka 'Double')

我试过这个密码,

代码语言:javascript
复制
    var latitudeArray = [Double]()
var longitudeArray = [Double]()
latitudeArray = UserDefaults.standard.array(forKey: "latitudeArray") as! [Double]
    longitudeArray = UserDefaults.standard.array(forKey: "longitudeArray") as! [Double]

    print(latitudeArray)
    print(longitudeArray)
  let location = CLLocationCoordinate2DMake(latitudeArray, longitudeArray)
    mapView.setRegion(MKCoordinateRegionMakeWithDistance(location, 1500, 1500), animated: true)

    let pin = MapPin.init(title: name!, locationName: name!, coordinate: location)
    mapView.addAnnotation(pin).

我怎样才能把数组传递给它呢?我想要这张地图显示我要传递给它的lat和lng的所有位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-28 15:50:05

您的代码有一些缺陷。首先,CLLocationCoordinate2DMake为每个参数取一个Double,当您试图使用Array of Doubles时,您的代码还不清楚,您的代码是否除了拟合存储到UserDefaults的所有坐标之外,是否还想在地图上显示引脚,所以下面的代码将两者兼而有之。

以下代码将

  • 以一系列的纬度和经度为例
  • 将它们转换为坐标对象
  • 将这些坐标转换为地图注释
  • 将这些注释添加到地图中
  • 缩放地图以适应所有注释

这就是你要的!

代码语言:javascript
复制
    let latitudes = [Double]()
    let longitudes = [Double]()
    let names = [String]()

    let coordinates = zip(latitudes, longitudes).map(CLLocationCoordinate2D.init)

    let annotations = zip(coordinates, names)
        .map { (coordinate, name) -> MKPointAnnotation in
            let annotation = MKPointAnnotation()

            annotation.coordinate = coordinate
            annotation.title = name

            return annotation
        }

    map.addAnnotations(annotations)
    map.showAnnotations(annotations, animated: true)

来自showAnnotations文档:

设置可见区域,以便映射显示指定的注释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49033222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档