【问题标题】: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()
})
}
}
}