|
| Intégrer des .kml dans le champ carte |
| Iniciado por dsabderrahim, 15,sep. 2017 23:32 - 5 respuestas |
| |
| | | |
|
| |
| Publicado el 15,septiembre 2017 - 23:32 |
Bonjour
Comment peut-on afficher les informations d'un fichier KML dans un champ carte de WinDev on utilisant les fonctionnalités de Maps JavaScript API v3.
Saidi |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 11 mensajes |
|
| Publicado el 18,septiembre 2017 - 10:56 |
Bonjour Saidi,
Il faut que tu interprète ton kml par une lecture xml (le kml est au format xml), puis que tu génère un polygone par les fonction maps avec les différents points que tu auras lu dans ton fichier kml.
Pour la lecture du kml ça donne quelque chose comme :
codexml1 est une chaîne // fchargeTexte charge le contenu du fichier xml dans une variable chaîne. codexml1 = fChargeTexte(sCheminPolygone) // création d'un document au format XML // XMLDOCUMENT permet de créer ou de manipuler un fichier XML. SI XMLDocument("docxml",codexml1)=Faux ALORS Erreur("Impossible de charger le document XML",ErreurInfo()) RENVOYER "" FIN // La fonction xmlrecherche permet de faire une recherche d'éléments ou de types d'éléments dans le fichier XML // En recherchant la valeur null et en demandant tous les éléments, on fait une recherche de tout // les éléments du document. XMLRecherche("docxml","coordinates",XMLBalise) TANTQUE XMLTrouve("docxml") SI XMLDonnée("docxml") <> "" ALORS sUnParcours1 est une chaîne = XMLDonnée("docxml") sUnPoint1 est une chaîne POUR TOUTE CHAÎNE sUnPoint1 DE sUnParcours1 SEPAREE PAR " " xLong1 est un numérique = ExtraitChaîne(sUnPoint1,1,",") xLat1 est un numérique = ExtraitChaîne(sUnPoint1,2,",") SI gxLatPremier = 0 ALORS gxLatPremier = xLat1 FIN SI gxLongPremier = 0 ALORS gxLongPremier = xLong1 FIN SI xLong1 <> 0 ET xLat1 <> 0 ALORS SI sPolygone <> "" ALORS sPolygone += "," FIN sPolygone += "{lat: " + xLat1 + ", lng: " + xLong1 + "}" FIN FIN // on ajoute la valeur se trouvant à l'intérieur d'une balise FIN XMLSuivant("docxml") FIN XMLTermine("docxml")
Bon Dev ! Damien D. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 19,septiembre 2017 - 01:21 |
La lecture du fichier kml est une alternative certes mais la cate google maps à déjà une propriété spécifique pour affiché toutes les infos contenu dans un kml et plus voici le code en javascripte qui réponds exactement à ce que je cherche :
<script> var map; var src = 'https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml';
function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: new google.maps.LatLng(-19.257753, 146.823688), zoom: 2, mapTypeId: 'terrain' });
var kmlLayer = new google.maps.KmlLayer(src, { suppressInfoWindows: true, preserveViewport: false, map: map }); } </script>
Comment faire ça avec Windev Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 20,septiembre 2017 - 05:29 |
Bonjour,
Pour faire cela avec Windev, à la place du champ carte, il te faut utiliser un champ web pour afficher la carte. Je en vos pas d'autres solutions.
-- Cordialement,
Philippe SAINT-BERTIN Géode Informatique |
| |
| |
| | | |
|
| | |
| |
| Publicado el 23,septiembre 2017 - 15:42 |
Bonjour tout le monde
Tout d'abord merci a vous Damien et Philippe pour vous réponse en effet après une rechercher approfondie j'ai trouve une fonction miracle qui résoudre presque tous le Pb du champs carte
il intégré le fichier kml en une seul ligne de code
CarteExécuteJS()
Merci encore a vous |
| |
| |
| | | |
|
| | |
| |
| Publicado el 19,julio 2019 - 20:29 |
Bonjour Saidi, J'essaie de reproduire ce que tu aurais réussi, mais en vain. J'ai un fichier toto.kml Dans une fenêtre, j'ai un bouton pour ouvrir une nouvelle fenêtre affichant ma Google Map.
MonImage = GglRécupèreCarte("ma_cle_API", xMa_Lat, xMa_lon,nZoom,nLargeur_Ecran,nHauteur_Ecran,gglSatellite)
soit sCode = [ //ton code JS que j'ai Copier/Coller ]
CarteExécuteJS(CARTE_Carte, sCode) FEN_Carte.CARTE_Carte = MonImage
Ma nouvelle fenêtre s'ouvre avec Google Map, mais sans prendre en compte mon fichier toto.kml
Aurais-je raté quelque chose ? Merci pour ton retour, et bonne soirée |
| |
| |
| | | |
|
| | | | |
| | |
|