Как получить широту и долготу места в изоморфном приложении на сервереPhp

Кемеровские программисты php общаются здесь
Anonymous
Как получить широту и долготу места в изоморфном приложении на сервере

Сообщение Anonymous »

У меня есть изоморфное приложение, которое загружается и на сервер, и на клиент. Меня беспокоит загрузка результатов для приложения на сервере. Мне нужно вызвать службу API Google Maps, чтобы получить широту и долготу для места, например, «www.mysite.com/search/New-York--NY--United-States», затем мне нужно найти его широту и долготу из API Google Maps с приведенным ниже кодом в php (мой API находится в php)

Код: Выделить всё

 $address= $this->input->get('address');
$geo = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false');
$geo = json_decode($geo, true);
if ($geo['status'] = 'OK') {
$lat = $geo['results'][0]['geometry']['location']['lat'];
$lng = $geo['results'][0]['geometry']['location']['lng'];
}
Затем на основе этой широты и долготы я ищу результаты, как показано ниже.

Код: Выделить всё

$radius = 6371;
$distance = 250;
// latitude boundaries
$maxlat = $lat + rad2deg($distance / $radius);
$minlat = $lat - rad2deg($distance / $radius);
// longitude boundaries (longitude gets smaller when latitude increases)
$maxlng = $lng + rad2deg($distance / $radius / cos(deg2rad($lat)));
$minlng = $lng - rad2deg($distance / $radius / cos(deg2rad($lat)));
С помощью приведенного выше кода я вычисляю максимальную и минимальную широту и долготу, а затем ищу результаты, применяя условия, как показано ниже.

Код: Выделить всё

$this->db->where('rv.LATITUDE >=', $minlat);
$this->db->where('rv.LATITUDE =', $minlng);
$this->db->where('rv.LONGTITUDE

Вернуться в «Php»