0
내 서버에서 일부 지리 데이터를로드하고로드하고는 주석을 던져 표시 할 : 내가 한 그래서업데이트 주석은 HTTP
class Station: NSObject, MKAnnotation {
var identifier = "test"
var title: String?
var coordinate: CLLocationCoordinate2D
init(name:String, lat:CLLocationDegrees, long:CLLocationDegrees) {
title = name
coordinate = CLLocationCoordinate2DMake(lat, long)
}
}
는, 기본적으로 :
Alamofire.request("http://localhost:1234/app/data").responseJSON { response in
switch response.result {
case .success(let value):
let json = JSON(value)
var annotations = [Station]()
for (key, subJson):(String, JSON) in json {
let lat: CLLocationDegrees = subJson["latitude"].double! as CLLocationDegrees
let long: CLLocationDegrees = subJson["longtitude"].double! as CLLocationDegrees
self.annotations += [Station(name: "test", lat: lat, long: long)]
}
DispatchQueue.main.async {
let allAnnotations = self.mapView.annotations
self.mapView.removeAnnotations(allAnnotations)
self.mapView.addAnnotations(annotations)
}
case .failure(let error):
print(error)
}
}
내 Station
클래스를 :
원격 서비스에서 데이터를로드하고 이러한 데이터를 MKMapView
에 주석으로 표시하십시오.
하지만 어떻게 든이 주석은 맵에로드되지 않습니다. 심지어 내가 먼저 "제거"하고 다음에 "추가"합니다.
제안 사항?
당신이 당신의 응답에 중단 점을 설정, 모든 JSON 값이 예상대로 인쇄됩니까? 메서드의 각 섹션에 원하는 순서대로 충돌합니까? –