我已经回顾了关于这个主题的其他堆栈溢出帖子,看起来我已经碰到了新的东西。有问题的查询方法不在用户表上。
当我查询mBuilding对象中的距离或许多其他列时,我得到了未定义,即使列清楚地存在,我将列标题复制并粘贴到函数中以检查拼写。从我所看到的,唯一有效的查询是通过objectId获取并查找。 equalTo,select,withinMiles(至少)返回null / undefined结果。更有趣的是,即使find()之前的查询未定义,它也会适当地影响查找结果。这真是令人困惑。
这里发生了什么?我的代码:
angular.module('startupApp')
.controller('warrantyCtrl', function ($scope) {
$scope.Building = {};
$scope.Building.parseUserId = Parse.User.current().id;
console.log($scope.Building.parseUserId);
var consumer = Parse.User.current();
var user = Parse.Object.extend("User");
var warrantys = Parse.Object.extend("warranty");
var mBuilding = new Parse.Query(warrantys);
var consumerQuery = new Parse.Query(Parse.User);
$scope.consumerBuilding = function() {
var location = consumer.get("location");
mBuilding.withinMiles("location", location, "distance");
mBuilding.find({
success: function (proximalwarrantys){
console.log(proximalwarrantys);
}
})
}
$scope.consumerBuilding();
});
答案 0 :(得分:1)
问题是传递给withinMiles
函数的距离应该是一个数字,而不是"distance"
:
withinMiles(key, point, maxDistance)
添加基于邻近度的约束 用于查找具有接近给定点的关键点值的对象 在给定的最大距离内。使用的地球半径为3958.8 英里。
参数:
{String} key
Parse.GeoPoint的关键 存储在。
{Parse.GeoPoint} point
参考Parse.GeoPoint即 用过的。
{Number} maxDistance
结果的最大距离(以英里为单位) 返回。返回:
{Parse.Query}
返回查询,以便链接 这个电话。