我正在創建一個解析應用程序,我希望能夠使用GeoPoints獲取單個對象一定距離內的所有對象。看似簡單,但下面的代碼返回[](不匹配):使用解析Javascript SDK Query GeoPoint withinMiles
app.get('/photos', function(req, res) {
var Photo = Parse.Object.extend("Photo");
var query = new Parse.Query(Photo);
query.equalTo("owner", Parse.User.current());
query.find({
success: function(results) {
// Do something with the returned Parse.Object values
//res.send(results);
var photo = results[0];
// Create a query for places
var Photo = Parse.Object.extend("Photo");
var query = new Parse.Query(Photo);
// Interested in photos taken near this photo.
query.withinMiles("coordinates", photo.coordinates, 500000);
// Final list of objects
query.find({
success: function(photoObjects) {
res.send(photoObjects);
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
});
奇怪的是,如果我改變行 query.withinMiles("coordinates", photo.coordinates, 500000);
到 query.near("coordinates", photo.coordinates);
然後它工作順利,並返回所有照片(逢單一個在樣本數據集中所有其他人的5英里範圍內有一個GeoPoint,所以我使用了500000的maxDistance來測試問題的程度)。
問題是我需要能夠限制到一個特定的半徑,這是我認爲「withinMiles」正在做的事情。任何想法我可能做錯了什麼?