2016-06-06 10 views
1

Ich nehme JSON Daten und Speicherung aller Geox aus JSON in Geox und Geoy in Geoy. während Markierungen durch Auftragen für Schleife wirft mir Fehler „kann nicht Wert vom Typ NSArray umwandeln zu erwarteten Argumenttyp CLLocationDegrees (auch bekannt als Doppel)“Wie kann ich Markierungen auf der Karte swift

let data = JSON as! NSDictionary 
let result = Data["result"] as! NSArray     
let geox = result.valueForKey("geo_x") as! NSArray 
let geoy = result.valueForKey("geo_y") as! NSArray 
let count = geox.count 
for index in 0...count { 
    let position = CLLocationCoordinate2DMake(geox,geoy) 
    let marker = GMSMarker(position: position) 
    marker.map = mapView 
} 

jemand mich in die Richtung dieses Problem zu lösen Punkt kann?

Antwort

0

Wenn ich verstehe, erhalten Sie zwei getrennte Arrays: eins für Längenkoordinaten und ein anderes für Breitengrad.

So kann man so etwas tun: Zuerst diese ersetzen:

let geox = result.valueForKey("geo_x") as! NSArray 
let geoy = result.valueForKey("geo_y") as! NSArray 

durch diese:

let geox = result.valueForKey("geo_x") as! [CLLocationDegrees] 
let geoy = result.valueForKey("geo_y") as! [CLLocationDegrees] 

und dann:

for index in 0...count { 
    let position = CLLocationCoordinate2DMake(geox[index],geox[index]) 
    let marker = GMSMarker(position: position) 
    marker.map = mapView 
} 
+0

Fehler werfen als nicht Wert umwandeln Geben Sie AnyObject dem erwarteten Argumenttyp CLLocationDegrees und wenn ich (Breitengrad, Längengrad) anstelle von (g eox [index], geoy [index]) "konnte nicht den Wert des Typs NSNull in NSNumber – Ishwar

+0

umsetzen, ich bearbeite nur meine Antwort – Maxime

+0

es funktioniert immer noch nicht und gibt mir Thread 1: EXC_BAD_INSTRUCTION während der Ausführung – Ishwar

Verwandte Themen