Parse に PFGeoPoint があり、ユーザーが半径をマイル単位で入力する serachView があります。そのため、距離の半径内にいるユーザーのリストが返されます。
座標から距離を取得できることはわかっていますが、そこにすべてのユーザーを取得して 1 つずつ確認する方法がわかりません。
iOSとParseが初めてなので、誰かが私に何か提案できるなら、それは私にとって大きな助けになるでしょう.
Parse に PFGeoPoint があり、ユーザーが半径をマイル単位で入力する serachView があります。そのため、距離の半径内にいるユーザーのリストが返されます。
座標から距離を取得できることはわかっていますが、そこにすべてのユーザーを取得して 1 つずつ確認する方法がわかりません。
iOSとParseが初めてなので、誰かが私に何か提案できるなら、それは私にとって大きな助けになるでしょう.
編集済み
解析には、実際にはそれに対する簡単な解決策があります。
int radiusInKilometers = 400; //Example
PFGeoPoint * myGeoPoint = [PFUser currentUser][@"geoPoint"]; // Your geoPoint
PFQuery *query = [PFUser query];
[query whereKey:@"geoPoint" nearGeoPoint:myGeoPoint withinKilometers:radiusInKilometers];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSLog(@"Successfully retrieved %d scores.", objects.count);
// Do something with the found objects
for (PFObject *object in objects) {
// DISTANCE
PFGeoPoint * geoPoint1 = [PFUser currentUser][@"geoPoint"];
PFGeoPoint * geoPoint2 = userObject[@"geoPoint"];
CLLocation *location1 = [[CLLocation alloc]
initWithLatitude:geoPoint1.latitude
longitude:geoPoint1.longitude];
CLLocation *location2 = [[CLLocation alloc]
initWithLatitude:geoPoint2.latitude
longitude:geoPoint2.longitude];
CLLocationDistance distance = [location1 distanceFromLocation:location2];
// Print out the distance
NSLog(@"There's %d km between you and this user", distance);
}
} else {
// Details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
に変更できwithinKilometers
ますwithinMiles
。