本文整理汇总了PHP中Parse\ParseQuery::withinRadians方法的典型用法代码示例。如果您正苦于以下问题:PHP ParseQuery::withinRadians方法的具体用法?PHP ParseQuery::withinRadians怎么用?PHP ParseQuery::withinRadians使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parse\ParseQuery
的用法示例。
在下文中一共展示了ParseQuery::withinRadians方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: within
/**
* @param $column
* @param $latitude
* @param $longitude
* @param $distance
* @param array $keyToInclude
*
* @return Collection|ParseObject[]
*/
public function within($column, $latitude, $longitude, $distance, $keyToInclude = [])
{
$location = new ParseGeoPoint($latitude, $longitude);
for ($i = 0; $i < count($keyToInclude); $i++) {
$this->query->includeKey($keyToInclude[$i]);
}
switch (config('parse.units', 'kilometers')) {
case 'kilometers':
$this->query->withinKilometers($column, $location, $distance);
break;
case 'miles':
$this->query->withinMiles($column, $location, $distance);
break;
case 'radians':
$this->query->withinRadians($column, $location, $distance);
break;
}
return Collection::make($this->query->find($this->useMasterKey));
}
示例2: testGeoMaxDistance
public function testGeoMaxDistance()
{
for ($i = 0; $i < 3; ++$i) {
$obj = ParseObject::create('TestObject');
$point = new ParseGeoPoint(0.0, $i * 45.0);
$obj->set('location', $point);
$obj->set('id', $i);
$obj->save();
}
// baseline all
$query = new ParseQuery('TestObject');
$point = new ParseGeoPoint(1.0, -1.0);
$query->near('location', $point);
$results = $query->find();
$this->assertEquals(3, count($results));
// all
$query = new ParseQuery('TestObject');
$query->withinRadians('location', $point, 3.14 * 2);
$results = $query->find();
$this->assertEquals(3, count($results));
// all
$query = new ParseQuery('TestObject');
$query->withinRadians('location', $point, 3.14);
$results = $query->find();
$this->assertEquals(3, count($results));
// 2
$query = new ParseQuery('TestObject');
$query->withinRadians('location', $point, 3.14 * 0.5);
$results = $query->find();
$this->assertEquals(2, count($results));
$this->assertEquals(1, $results[1]->get('id'));
// 1
$query = new ParseQuery('TestObject');
$query->withinRadians('location', $point, 3.14 * 0.25);
$results = $query->find();
$this->assertEquals(1, count($results));
$this->assertEquals(0, $results[0]->get('id'));
}