【问题标题】:How can I plot String Array of addresses on MapView and show markers?如何在 MapView 上绘制地址字符串数组并显示标记?
【发布时间】:2016-10-28 23:10:49
【问题描述】:

这是一个字符串,而我有一个地址数组。

var address = self.address
        var geocoder = CLGeocoder()
        geocoder.geocodeAddressString(address, completionHandler: {(placemarks: [AnyObject]!, error: NSError!) -> Void in
            if let placemark = placemarks?[0] as? CLPlacemark {
                self.mapView.addAnnotation(MKPlacemark(placemark: placemark))
            }
        })

【问题讨论】:

  • 为什么不使用循环遍历数组并相应地删除标记?

标签: ios swift google-maps mkmapview


【解决方案1】:

这样就可以了。

class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {

    @IBOutlet var mapView: MKMapView!
    let addressArray = ["address1", "address2"]
    let geocoder = CLGeocoder()
    var count = 0

    @IBAction func PlotAddresses(sender: AnyObject) {
        plotAddressesInMap()
    }

    func plotAddressesInMap() {
        if count < self.addressArray.count {
            let address = addressArray[count]
            geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
                print("Address = \(address)");
                if let placemark = placemarks?.first {
                    self.mapView.addAnnotation(MKPlacemark(placemark: placemark))
                }
                print("Count = \(self.count)")
                self.count += 1
                self.plotAddressesInMap()
            })
        }
    }
}

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 2017-07-24
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 2017-11-05
    • 1970-01-01
    • 2021-11-19
    相关资源
    最近更新 更多