如何解析.使用near方法查询类



我正在构建我的第一个iOS应用程序,它可以帮助人们在地图上放置注释,以便其他人看到。我使用Parse作为我的后端服务。

我有什么:

Parse上一个名为"Pins"的类,它有一个"location"列(类型:GeoPoint)和一个occurrence列(类型:number)。

工作原理:

用户可以在地图上单击创建注释,该注释与其GeoPoint一起发送到服务器。其他用户在打开应用程序时可以看到它。

我想要实现的:

当用户将一个注释放置在另一个已经存在的注释附近时,我希望增加附近对象的"出现次数",而不是创建一个新对象。

我在创建beforeSave函数的过程中发现Parse已经有一个方法可以做到这一点:{Parse。查询}near(key, point)

不幸的是,我在实现它时有很多麻烦,文档缺乏一些例子。所以我的问题是:

我如何查询"Pins"类的注释是在100米内的一个用户正在创建?

这就像一个普通的查询:

如果你知道新删除的注释的位置:

// say your annotation answers a location with lat and long
PFGeoPoint *point = [PFGeoPoint geoPointWithLatitude:lat longitude:long];

像这样查询您的自定义类附近的实例:

PFQuery *query = [PFQuery queryWithClassName:@"Pins"];
[query whereKey:@"location" nearGeoPoint:point];
// do your regular find stuff with query.

如果问题是关于js的(从标签上看不清楚),它是相同的概念,使用:

var Pins = Parse.Object.extend("Pins");
var query = new Parse.Query(Pins);
query.near("location", point);

或者在一个给定的半径周围做,那么:

query.withinKilometers("location", point, 0.1);  // 100 meters
query.find().then( /* return to client */ )

最新更新