本文整理匯總了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'));
}