Récupérer contenu balises XMl dans un fichier HTML

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Jpe54
Messages : 60
Enregistré le : 10 mars 2017, 14:11

Récupérer contenu balises XMl dans un fichier HTML

Message par Jpe54 » 27 oct. 2018, 18:40

Bonjour,

Je sèche pour pouvoir afficher dans une page HTML le résultat d'un appel à une url sur OpenStreetMap qui retourne un code XML

Voici la doc trouvée ici : https://wiki.openstreetmap.org/wiki/FR:Nominatim

A l'intérieur d'une page HTML, pour loceliser un lieu depuis des coordonnées GPS (Latitude / Longitude) je demande l'accès à cette URL :

https://nominatim.openstreetmap.org/rev ... sdetails=1

Cela à pour effet d'afficher un code XML, or je souhaiterai seulement récupérer le nom de la Ville contenu dans la balise county en utilisant un codage javaScript pour l'afficher dans la page html.

Est-ce du domaine du possible

Merci par avance

Bien cordialement

Jpe54
Messages : 60
Enregistré le : 10 mars 2017, 14:11

Re: Récupérer contenu balises XMl dans un fichier HTML

Message par Jpe54 » 29 oct. 2018, 10:10

En fait je sèche pour pouvoir récupérer dans une variable et traiter le contenu XLM masqué (que je peux afficher ou masquer sur return true ou false) dans le code ci dessous.

Code : Tout sélectionner

<!DOCTYPE html>
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Version 0.01 Bêta 10-2018</title>

<script type="text/javascript">

function visibilite(MyId) {
var targetElement;
targetElement = document.getElementById(MyId) ;
	if (targetElement.style.display == "none") {
	targetElement.style.display = "" ;
	}
	else {
	targetElement.style.display = "none" ;
	}
	} 

</script>

</head>

<body>
<div id="id_div_1" style="display:none;">Afficher le texte masqué</div>

<a  href="https://nominatim.openstreetmap.org/reverse?format=xml&lat=44&lon=6&zoom=16&addressdetails=1;" onclick="javascript:visibilite('id_div_1'); return false;" >Lien</a> 

</body>
</html>
A moins d'une autre manière sur Géoportail ou OpenStreet voire autre site me permettant de récupérer occasionnellement ce nom de ville et éventuellement région via une url me permettant de passer en variable la latitude et longitude sans devoir la renseigner manuellement dans la page !

PS : Pour information, il s'agit d'un utilisation purement privé (Album photo en html5) dont l'usage ne dépasserai pas les 25000 tuiles avant facturation... mais je me refuse à continuer d'utiliser Google map avec une clef API du fait de devoir laisser un numéro de compte !

Jpe54
Messages : 60
Enregistré le : 10 mars 2017, 14:11

Re: Récupérer contenu balises XMl dans un fichier HTML

Message par Jpe54 » 29 oct. 2018, 13:22

(Re)Bonjour,

:D Vous pouvez clore ce post, nombreuses solutions, vu le nombre de Plugin trouvées sur l'Open Source leaflet ici :
https://leafletjs.com/

Bien cordialement

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Récupérer contenu balises XMl dans un fichier HTML

Message par webmaster » 29 oct. 2018, 13:33

Bonjour,

Il faut passer par un appel AJAX pour traiter le retour
J'ai changé l'url pour utiliser le json natif en JS
https://nominatim.openstreetmap.org/rev ... sdetails=1

et le code :

Code : Tout sélectionner

<div id="id_div_1" style="">VILLE</div>

<script>
 /* Création de l'objet ajax */
 var ajax = new XMLHttpRequest();

 /* Déclaration des événements */
 ajax.onload = function() {
   console.log("HTTP status = "+this.status);
   if (this.status == 200) {
     console.log(this.response);
	 var result=JSON.parse(this.response);  
     console.log(result);
     document.getElementById("id_div_1").innerHTML = "La ville est <b>"+result.address.county+"</b>";
   }
 } 
 
  /* Définition de l'appel */
 ajax.open("GET", "https://nominatim.openstreetmap.org/reverse?format=json&lat=44&lon=6&zoom=16&addressdetails=1;", true);

/* Déclenchement de l'appel */ 
 ajax.send();
</script>
Bien sur, il faudrait tester la validité du retour, mais c'est la le principe

Pour voir en ligne :
https://www.toutjavascript.com/user/topic698.html
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Jpe54
Messages : 60
Enregistré le : 10 mars 2017, 14:11

Re: Récupérer contenu balises XMl dans un fichier HTML

Message par Jpe54 » 06 nov. 2018, 10:37

Bonjour à vous,

Un grand merci pour cette réponse ! Je n'ai pas pensé à ce langage Ajax… dont je ne connais pas toutes les subtilités.

Même après de nombreuses années de codages divers, ceci reste du domaine de la modestie !

En tout cas 1000 mercis… et bonne continuation sur ce site ou le coup de main reste une réalité.

Répondre