Publier une carte depuis un formulaire

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Avatar de l’utilisateur
jeangiher
Messages : 4
Inscription : dim. nov. 18, 2018 2:33 pm
Contact :

Publier une carte depuis un formulaire

Message par jeangiher » dim. nov. 25, 2018 5:15 pm

Le site www.aiharpe.org (Activités>>Concerts) offre à ses visiteurs une liste de concerts qui se présente comme suit:
Capture d’écran 2018-11-25 à 16.51.19.png
Capture d’écran 2018-11-25 à 16.51.19.png (90.52 Kio) Consulté 912 fois
En cliquant sur "Plan" une carte OpenStreetMap, correspondant à l'adresse du concert, est ouverte en popup.

J'ai monté un code dont copie des dernières lignes ci-dessous.
Les réponses sont justes sauf pour Paris où le marqueur ne s'inscrit pas au bon endroit toujours au milieu de la carte.
Où est l'erreur?
Cordialement.
JGH

Code : Tout sélectionner

//Extraire les données lattitude longitude de $json_data


$lat=$json_data[0]["lat"];
$lon=$json_data[0]["lon"];
$latsud=$json_data[0]['boundingbox'][0];
$latnord=$json_data[0]['boundingbox'][1];
$longest=$json_data[0]['boundingbox'][2];
$longouest=$json_data[0]['boundingbox'][3];


//affichage plan
?>
			
			<p></p>
			<p>
				<iframe width="510" height="420" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src='https://www.openstreetmap.org/export/embed.html?bbox=<? echo"$longest";?>%2C<? echo"$latsud";?>%2C<? echo"$longouest";?>%2C<? echo"$latnord";?>&amp;layer=mapnik&amp;marker=<? echo"$lat";?>%2C<? echo"$lon";?>' style="border: 1px solid black"></iframe>
				<br />
				<small><a href='https://www.openstreetmap.org/?mlat=<? echo"$lat";?>&amp;mlon=<? echo"$lon";?>#map=16/<? echo"$lat";?>/<? echo"$lon";?>'target ="_blank">Afficher une carte plus grande</a></small></p></p>
		</div>
	</body>

Avatar de l’utilisateur
lmagreault
Messages : 16
Inscription : mer. mai 30, 2018 11:10 am

Re: Publier une carte depuis un formulaire

Message par lmagreault » lun. nov. 26, 2018 6:29 pm

Bonjour,

Quel geocodeur avez-vous utilisé pour passer des adresses aux coordonnées ?

Avatar de l’utilisateur
jeangiher
Messages : 4
Inscription : dim. nov. 18, 2018 2:33 pm
Contact :

Re: Publier une carte depuis un formulaire

Message par jeangiher » lun. nov. 26, 2018 7:21 pm

Bonsoir,
Voici le début de mon code:

Code : Tout sélectionner

$adresse = array(
  'street'     => $rue,
  'postalcode' => $zipcode,
  'city'       => $ville,
  'country'    => $pays,
  'format'     => 'json',
);

$url = 'https://nominatim.openstreetmap.org/?' . http_build_query($adresse);
//echo $url;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT,'Mettre ici un user-agent adéquat');
$position = curl_exec($ch);
curl_close($ch);

$json_data = json_decode($position, true);
//var_dump($json_data);
$lat=$json_data[0]["lat"];
if(empty($lat)) {echo"Désolé! L'adresse du site n'a pas été reconnue";
exit();
}

//Extraire les données lattitude longitude de $json_data


$lat=$json_data[0]["lat"];
$lon=$json_data[0]["lon"];
$latsud=$json_data[0]['boundingbox'][0];
$latnord=$json_data[0]['boundingbox'][1];
$longest=$json_data[0]['boundingbox'][2];
$longouest=$json_data[0]['boundingbox'][3];
Les adresses sont lues dans l'annonce et sont renvoyés vers la page où s'affiche la carte..
Les annonces sont stockées dans une banque de donnée.

Cordialement et merci de vous intéresser à ma question.
JGH

Avatar de l’utilisateur
lmagreault
Messages : 16
Inscription : mer. mai 30, 2018 11:10 am

Re: Publier une carte depuis un formulaire

Message par lmagreault » mar. nov. 27, 2018 8:32 am

J'ai l'impression que ça vient des arguments passés lors de l'interrogation de nominatim.
Pouvez-vous dé-commenter la ligne

Code : Tout sélectionner

//echo $url;
pour avoir un exemple d'appel sur Paris ?

Avatar de l’utilisateur
jeangiher
Messages : 4
Inscription : dim. nov. 18, 2018 2:33 pm
Contact :

Re: Publier une carte depuis un formulaire

Message par jeangiher » mar. nov. 27, 2018 2:45 pm

Merci lmagreault pour votre commentaire.
Vous avez raison. Je minimisais mes capacités (?) et je suspectais une erreur dans mon code.
En réalité c'est bien une mauvaise rédaction des adresses à Paris dans les annonces. Inscription des arrêts de métro après les noms de rues dans le même champ.
J'ai corrigé ça dans la BD et tout va bien.
Merci de m'avoir orienté dans le bons sens.
Cordialement. Bonne continuation.
JGH

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités