本文整理汇总了PHP中Parse\ParseQuery::withinMiles方法的典型用法代码示例。如果您正苦于以下问题:PHP ParseQuery::withinMiles方法的具体用法?PHP ParseQuery::withinMiles怎么用?PHP ParseQuery::withinMiles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parse\ParseQuery
的用法示例。
在下文中一共展示了ParseQuery::withinMiles方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: testGeoMaxDistanceWithUnits
public function testGeoMaxDistanceWithUnits()
{
ParseTestHelper::clearClass("PlaceObject");
// [SAC] 38.52 -121.50 Sacramento,CA
$sacramento = new ParseGeoPoint(38.52, -121.5);
$obj = ParseObject::create('PlaceObject');
$obj->set('location', $sacramento);
$obj->set('name', 'Sacramento');
$obj->save();
// [HNL] 21.35 -157.93 Honolulu Int,HI
$honolulu = new ParseGeoPoint(21.35, -157.93);
$obj = ParseObject::create('PlaceObject');
$obj->set('location', $honolulu);
$obj->set('name', 'Honolulu');
$obj->save();
// [51Q] 37.75 -122.68 San Francisco,CA
$sanfran = new ParseGeoPoint(37.75, -122.68);
$obj = ParseObject::create('PlaceObject');
$obj->set('location', $sanfran);
$obj->set('name', 'San Francisco');
$obj->save();
// test point SFO
$point = new ParseGeoPoint(37.6189722, -122.3748889);
// Kilometers
// baseline all
$query = new ParseQuery('PlaceObject');
$query->near('location', $point);
$results = $query->find();
$this->assertEquals(3, count($results));
// max with all
$query = new ParseQuery('PlaceObject');
$query->withinKilometers('location', $point, 4000.0);
$results = $query->find();
$this->assertEquals(3, count($results));
// drop hawaii
$query = new ParseQuery('PlaceObject');
$query->withinKilometers('location', $point, 3700.0);
$results = $query->find();
$this->assertEquals(2, count($results));
// drop sacramento
$query = new ParseQuery('PlaceObject');
$query->withinKilometers('location', $point, 100.0);
$results = $query->find();
$this->assertEquals(1, count($results));
$this->assertEquals('San Francisco', $results[0]->get('name'));
// drop SF
$query = new ParseQuery('PlaceObject');
$query->withinKilometers('location', $point, 10.0);
$results = $query->find();
$this->assertEquals(0, count($results));
// Miles
// max with all
$query = new ParseQuery('PlaceObject');
$query->withinMiles('location', $point, 2500.0);
$results = $query->find();
$this->assertEquals(3, count($results));
// drop hawaii
$query = new ParseQuery('PlaceObject');
$query->withinMiles('location', $point, 2200.0);
$results = $query->find();
$this->assertEquals(2, count($results));
// drop sacramento
$query = new ParseQuery('PlaceObject');
$query->withinMiles('location', $point, 75.0);
$results = $query->find();
$this->assertEquals(1, count($results));
$this->assertEquals('San Francisco', $results[0]->get('name'));
// drop SF
$query = new ParseQuery('PlaceObject');
$query->withinMiles('location', $point, 10.0);
$results = $query->find();
$this->assertEquals(0, count($results));
}
示例3: getOpenBikesWithinDistance
function getOpenBikesWithinDistance($latitude, $longitude, $radius)
{
$point = new ParseGeoPoint($latitude, $longitude);
$query = new ParseQuery("Bikes");
$query->includeKey("currentUser");
$query->doesNotExist("currentUser");
$query->withinMiles("lastLocation", $point, $radius);
$query->limit(1000);
$results = $query->find();
$count = count($results);
$listOfBikes = array();
for ($i = 0; $i < $count; $i++) {
$bike = $results[$i];
$ID = $bike->getObjectId();
$point = $bike->get("lastLocation");
$lat = $point->getLatitude();
$long = $point->getLongitude();
$object = new stdClass();
$object->bikeID = $ID;
$object->latitude = $lat;
$object->longitude = $long;
array_push($listOfBikes, $object);
}
return $listOfBikes;
}