4

入力された GeoPoint に最も近い GeoPoint を持つ Parse オブジェクトを取得するための Parse クエリの作成に問題があります。現在、コードは最後に作成されたオブジェクトを返しているようです。

コード:

// check Parse for infections around passed GeoPoint
Parse.Cloud.define("InfectionCheck_BETA", function(request, response) {

var returnCount;

var geoPoint = request.params.geoPoint;
var query = new Parse.Query("InfectedArea");
query.withinMiles("centerPoint", geoPoint, 1); // check for infections within one mile

Parse.Promise.as().then(function() {
    // query for count of infection in area, this is how we get severity
    return query.count().then(null, function(error) {
        console.log('Error getting InfectedArea. Error: ' + error);
        return Parse.Promise.error(error);
    });

}).then(function(count) {
    if (count <= 0) {
        // no infected areas, return 0
        response.success(0);
    }
    returnCount = count;
    return query.first().then(null, function(error) {
        console.log('Error getting InfectedArea. Error: ' + error);
        return Parse.Promise.error(error);
    });

}).then(function(result) {
    // we have the InfectedArea in question, return an array with both
    response.success([returnCount, result]);

}, function(error) {
    response.error(error);
});
});

私が望むのは、 first() クエリがcenterPointキーに CLOSEST GeoPoint を持つオブジェクトを返すことです。

私も追加しようquery.near("centerPoint", geoPoint)query.limit(1)しましたが、役に立ちませんでした。

whereKey:nearGeoPoint:withinMiles:おそらく最も近いジオポイントに基づいてソートされて返されるiOS PFQueries 呼び出しを見てきました。このように機能する同等の JavaScript はありますか?

4

1 に答える 1