<?php include_spip("inc/distant"); // inspiré de action/gis_geocoder_rechercher; function lg_gis_geocoder_rechercher_dist() { include_spip('inc/modifier'); $mode = _request('mode'); if (!$mode || !in_array($mode, array('search', 'reverse'))) { return; } /* On filtre les arguments à renvoyer à Nomatim (liste blanche) */ $arguments = collecter_requests(array('json_callback', 'format', 'q', 'limit', 'addressdetails', 'accept-language', 'lat', 'lon'), array()); $geocoder = defined('_GIS_GEOCODER') ? _GIS_GEOCODER : 'nominatim'; if (!empty($arguments) && in_array($geocoder, array('photon','nominatim'))) { header('Content-Type: application/json; charset=UTF-8'); if ($geocoder == 'photon') { if (isset($arguments['accept-language'])) { $arguments['lang'] = $arguments['accept-language']; unset($arguments['accept-language']); } if ($mode == 'search') { $mode = 'api/'; } else { $mode = 'reverse'; } $url = 'http://photon.komoot.de/'; } else { $url = 'http://nominatim.openstreetmap.@@@SPIP_DIFF0@@@org/'; $arguments['format']@@@SPIP_DIFF1@@@@@@SPIP_DIFF0@@@='json@@@SPIP_DIFF1@@@ @@@SPIP_DIFF0@@@'; @@@SPIP_DIFF1@@@ @@@SPIP_DIFF6@@@org@@@SPIP_DIFF1@@@ @@@SPIP_DIFF6@@@/'; @@@SPIP_DIFF1@@@ } $url = defined('_GIS_GEOCODER_URL') ? _GIS_GEOCODER_URL : $url; $data = recuperer_page("{$url}{$mode}?" . http_build_query($arguments)); $data = json_decode($data,true); return $data; } } $reponse = array(''); set_request("mode","search"); set_request("q","marseille"); set_request("format","json"); set_request("limit","1"); $arguments = collecter_requests(array('json_callback', 'format', 'q', 'limit', 'addressdetails', 'accept-language', 'lat', 'lon'), array()); var_dump($arguments ); $requete = lg_gis_geocoder_rechercher_dist(); var_dump($requete);