?
| Current Path : /home/w/e/b/webyoo/www/leumi/site/ |
| Current File : /home/w/e/b/webyoo/www/leumi/site/neighborhood_desc.php |
<?php
include "start.php";
header('Content-Type: application/json; charset=utf-8');
// Description du quartier 脿 partir de VRAIES donn茅es OpenStreetMap (gratuit),
// autour des coordonn茅es du bien (~600 m).
$lat = isset($_REQUEST['lat']) ? (float)$_REQUEST['lat'] : 0;
$lng = isset($_REQUEST['lng']) ? (float)$_REQUEST['lng'] : 0;
if (!$lat || !$lng) { echo json_encode(array('ok' => false)); exit; }
$radius = 600;
$q = '[out:json][timeout:20];(';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[amenity=school];';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[amenity=kindergarten];';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[shop];';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[amenity=parking];';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[amenity=pharmacy];';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[highway=bus_stop];';
$q .= 'nwr(around:'.$radius.','.$lat.','.$lng.')[leisure=park];';
$q .= ');out tags 300;';
$ch = curl_init('https://overpass-api.de/api/interpreter');
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => 'data=' . urlencode($q),
CURLOPT_TIMEOUT => 25,
CURLOPT_USERAGENT => 'Ashkara/1.0 (real-estate)'
));
$resp = curl_exec($ch);
curl_close($ch);
$data = json_decode($resp, true);
$c = array('school'=>0,'kg'=>0,'shop'=>0,'parking'=>0,'pharmacy'=>0,'bus'=>0,'park'=>0);
if (isset($data['elements'])) {
foreach ($data['elements'] as $el) {
$t = isset($el['tags']) ? $el['tags'] : array();
if (isset($t['amenity']) && $t['amenity'] === 'school') { $c['school']++; }
elseif (isset($t['amenity']) && $t['amenity'] === 'kindergarten') { $c['kg']++; }
elseif (isset($t['amenity']) && $t['amenity'] === 'parking') { $c['parking']++; }
elseif (isset($t['amenity']) && $t['amenity'] === 'pharmacy') { $c['pharmacy']++; }
elseif (isset($t['highway']) && $t['highway'] === 'bus_stop') { $c['bus']++; }
elseif (isset($t['leisure']) && $t['leisure'] === 'park') { $c['park']++; }
elseif (isset($t['shop'])) { $c['shop']++; }
}
}
$parts = array();
if ($c['school'] > 0) { $parts[] = ($c['school'] == 1 ? '讘讬转 住驻专' : $c['school'].' 讘转讬 住驻专'); }
if ($c['kg'] > 0) { $parts[] = ($c['kg'] == 1 ? '讙谉 讬诇讚讬诐' : $c['kg'].' 讙谞讬 讬诇讚讬诐'); }
if ($c['shop'] > 0) { $parts[] = '讞谞讜讬讜转 讜讘转讬 注住拽 讘拽专讘转 诪拽讜诐'; }
if ($c['pharmacy'] > 0) { $parts[] = '讘讬转 诪专拽讞转'; }
if ($c['park'] > 0) { $parts[] = ($c['park'] == 1 ? '驻讗专拽' : '驻讗专拽讬诐 讜讙讬谞讜转'); }
if ($c['parking'] > 0) { $parts[] = '讞谞讬讜转 爪讬讘讜专讬讜转'; }
if ($c['bus'] > 0) { $parts[] = '转讞讘讜专讛 爪讬讘讜专讬转 (转讞谞讜转 讗讜讟讜讘讜住)'; }
if (empty($parts)) { echo json_encode(array('ok' => false)); exit; }
// Items avec ic么nes (pour l'affichage visuel dans le formulaire)
$items = array();
if ($c['school'] > 0) { $items[] = array('icon' => 'fa-school', 'label' => '讘转讬 住驻专', 'count' => $c['school']); }
if ($c['kg'] > 0) { $items[] = array('icon' => 'fa-child', 'label' => '讙谞讬 讬诇讚讬诐', 'count' => $c['kg']); }
if ($c['shop'] > 0) { $items[] = array('icon' => 'fa-store', 'label' => '讞谞讜讬讜转', 'count' => $c['shop']); }
if ($c['pharmacy'] > 0) { $items[] = array('icon' => 'fa-clinic-medical', 'label' => '讘讬转 诪专拽讞转', 'count' => $c['pharmacy']); }
if ($c['park'] > 0) { $items[] = array('icon' => 'fa-tree', 'label' => '驻讗专拽讬诐', 'count' => $c['park']); }
if ($c['parking'] > 0) { $items[] = array('icon' => 'fa-parking', 'label' => '讞谞讬讜转', 'count' => $c['parking']); }
if ($c['bus'] > 0) { $items[] = array('icon' => 'fa-bus', 'label' => '转讞讘讜专讛', 'count' => $c['bus']); }
$text = '讘住讘讬讘转 讛谞讻住 (讘诪专讞拽 讛诇讬讻讛): ' . implode(', ', $parts) . '.';
echo json_encode(array('ok' => true, 'text' => $text, 'items' => $items), JSON_UNESCAPED_UNICODE);