У меня есть коллекция монго под названием город со следующим json
{
"city_name": "Amesbury",
"lat": "42.8583925",
"lng": "-70.9300376",
"geo_coords": [-70.9300376,42.8583925]
}
Как вы можете видеть, эта коллекция имеет геолокацию Эймсбери. Теперь я пытаюсь получить это с помощью php, и я использовал следующий код.
$collection = $this->mongodb->city;
$collection->ensureIndex(array('geo_coords' => '2d'));
$radiusMiles = 500000; //get all results within 5 miles
$radiusOfEarth = 3956; //avg radius of earth in miles
$cursor = $collection->find(
array('geo_coords' =>
array('$within' =>
array('$centerSphere' =>
array(
array($lng, $lat), $radiusMiles/$radiusOfEarth
)
)
)
)
);
В этот код я передаю долготу и широту Бостона в качестве аргумента сообщения, и я ожидаю, что запрос приведет к получению amesbury, так как оба являются соседними городами и определенно находятся на расстоянии 500000 миль друг от друга.
Но мой запрос не возвращает никаких результатов. В чем может быть проблема?