2016-04-13 14 views
0

LAT ve LNG içeren gerçek objelerde filtreye ulaşmaya çalışıyorum. Filtre mevcut konumumu ve SORT veri kaynağını en yakın objeleri sunacak. Bunu GeoQueries ile çözmeye çalıştım! pod, ancak err dönen tutar:SWIFT Realm.io filtreye mesafe

'Expected object of type string for property 'lat' on object of type 'E21', but received: 53.48708' 

kodum:

var datasourceE21Distance:Results<E21>! 

func loadDistanceDb() { 
    do{ 
     let tempLat = Double(LocationManager.sharedInstance.latitude) 
     let tampLng = Double(LocationManager.sharedInstance.longtitude) 


     let realm = try Realm() 
     datasourceE21Distance = realm.findInRegion(E21.self, region: mapView.region) 

     print(datasourceE21Distance) 

    } catch let error as NSError { 
     print(error) 
    } 
} 

cevap

1

GeoQueries coğrafi koordinat bileşenleri için özellikleri varsayılan olarak lat ve lng adlandırılır ve tip Double veya Float derecesine sahip olmasıdır bekliyoruz.

Hata iletisinden, özelliklerin String türünde olması gibi görünüyor. Bunlar sayısal karşılaştırmalar kullanılarak Realm tarafından sorgulanamaz.

Özellikleriniz için başka adlar kullanırsanız, bunları kitaplık tarafından tanımlanan yöntemlere geçirilen isteğe bağlı argümanlar ile belirtmeniz gerekir.

realm.findInRegion(E21.self, region: mapView.region 
     latitudeKey: "latitude", 
     longitudeKey: "longitude" 
    ) 
+0

Teşekkür ederim arkadaşım :-) –

+0

Ve mesafeyi nasıl ayırabilirim? Sonuçlar türü olarak kalmak istiyorum. –