Swift를 사용하여 폴리 라인을 그리는 방법을 이해하려고합니다. 나는 문서를보고, 튜토리얼을 참조하고, 다른 게시물을 체크 아웃했지만, 여전히 맵에 선을 그리는 것은 불가능합니다. 여기 내 코드가있다. 아무도 내가 여기서 뭘 잘못하고 있다고 말해?Swift를 사용하여 폴리선 그리기
import UIKit
import MapKit
class FirstViewController: UIViewController {
@IBOutlet weak var map: MKMapView!
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let location = CLLocationCoordinate2D(
latitude: -73.761105,
longitude: 41.017791
)
let span = MKCoordinateSpanMake(0.07, 0.07)
let region = MKCoordinateRegion(center: location, span: span)
map.setRegion(region, animated: true)
let annotation = MKPointAnnotation()
annotation.setCoordinate(location)
annotation.title = "White Plains"
annotation.subtitle = "Westchester County"
map.addAnnotation(annotation)
var locations = [CLLocation(latitude: -73.761105, longitude: 41.017791), CLLocation(latitude: -73.760701,longitude: 41.019348), CLLocation(latitude: -73.757201, longitude: 41.019267), CLLocation(latitude: -73.757482, longitude: 41.016375), CLLocation(latitude: -73.761105, longitude: 41.017791)]
var coordinates = locations.map({(location: CLLocation!) -> CLLocationCoordinate2D in return location.coordinate})
var polyline = MKPolyline(coordinates: &coordinates, count: locations.count)
self.map.addOverlay(polyline)
}
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
if overlay is MKPolyline {
var polylineRenderer = MKPolylineRenderer(overlay: overlay)
polylineRenderer.strokeColor = UIColor.blueColor()
polylineRenderer.lineWidth = 5
return polylineRenderer
}
return nil
}
}
고마워요!
좌표는 거꾸로 될 수있다. White Plains는 _longitude_-73.xxx에 있습니다 (_latitude_가 아님). 지금은 남극 대륙에있을 수도 있습니다. – Anna
감사합니다 안나! 멍청한 실수. 이 의견을 "수락"할 수 있기를 바랍니다. –