Publier une carte depuis un formulaire

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
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

//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>

Bonjour,

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

Bonsoir,
Voici le début de mon code:

$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

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

//echo $url;

pour avoir un exemple d’appel sur Paris ?

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