Parse Cloud code query.withinKilmeters

(Изменить 1)

Я пытаюсь работать с облачным кодом и GeoPoint. С помощью функции "query.withinKilmeters" у меня есть указатель на класс Location, но когда я пытаюсь вызвать функцию, я получаю сообщение об ошибке "недопустимое имя ключа". Как правильно это сделать? Я ничего не смог найти в документации, вот файл функции облака.

Ошибка: "код":105,"сообщение": "Неверное имя ключа: [объект объекта]"

здесь документация: http://parseplatform.org/Parse-SDK-JS/api/v1.11.1/Parse.html

Parse.Cloud.define("getCloseFindings", function(request, response){
var query           = new Parse.Query("findings");
var locQuery        = query.include("location");
var LocQuery        = locQuery.get("geoLocation");
var Loc_Lat         = request.params.Latitude;
var Loc_Long        = request.params.Longitude;
var UserLocation    = new Parse.GeoPoint(Loc_Lat,Loc_Long);
var RadiusLocation  = request.params.Radius;

query.equalTo("isDeleted", false);
query.withinKilometers(locQuery, UserLocation, 100);
query.find({
    success: function(results){
        if(results === undefined){
            var response_jsonArr = {
                code : 404,
                message : "Not Found"
            };
            response.success(response_jsonArr);
        }else{
            var jsonArr = [];
            for ( var i = 0; i < results.length; ++i ) {
                var finding_location    = results[i].get("location");
                jsonArr.push({
                    name: results
                });
            }
            response.success(jsonArr);
        }
    }, error: function(error){
        response.error(error);
    }
});

1 ответ

Вы передаете объект в query.withinKilmeters в качестве первого параметра, когда вы должны передавать строку. Попробуйте вместо этого использовать ключ из вашего запроса query.include, например так:

query.withinKilometers("location", userLocation, 100);
Другие вопросы по тегам