|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Bonjour,
Je démarre tout juste l'intégration de l'API, et malgré des jours de recherche sur le Forum et le site API IGN, j'ai du mal à démarrer. Voilà mon utilisation : - La carte s'affichera en miniature, puis un lien permettra de la consulter en plein écran. - La carte étant "secondaire" par rapport aux autres infos de ma page HTML, j'ai décidé de charger l'API une fois tout le reste de la page chargée. Donc pas dans le "header". - Je compte donc appeler la version "mini", puis reconstruire une autre map avec toutes les fonctionnalités dans une div en modal (jQuery est mon ami). Je me focalise pour le moment sur la "mini". Voilà mon code : Code :
La mini s'affiche sur mon site (en recette), se positionne au bon endroit, mais le KML ne s'affiche pas. Même serveur pour ce site et le KML, donc pas besoin de proxy. Le KML répond en direct avec un navigateur, et google Maps arrive à l'afficher.. donc je pense qu'il est au bon format. Par contre, j'ai vu qu'il fallait appeler l'API en mode étendu.. Or http://api.ign.fr/geoportail/api/js/1.2-e/Geoportal.js n'existe pas. Dans l'exemple KML sur le site IGN : Appel dans le header : /geoportail/api?v=1.2&key=1711091050407331029&instance=viewer&includeEngine=true& Pas de mode étendu non plus !?! J'ai testé le générateur de code, mais il affiche du code pour l'API 1.1, avec un proxy.. Bref, y a-t-il un mode étendu de l'API quand on l'appelle dans le BODY ? Voyez-vous un problème dans mon code qui empêcherait l'affichage des KML ? PS : Concernant la nouvelle version de Geoportail, ça semble être la révolution : Mon interlocuteur départemental m'a dit que tous les contrats allaient être revus, et qu'ils attendaient des réponses du service marketing pour les modalités de chaque contrat.. |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : mai 2009 Messages : 1 087 ![]() |
Avec Firebug, j'ai regardé dans l'onglet réseau le script chargé pour une page avec l'api étendue dans le header et la réponse est:
http://api.ign.fr/geoportail/api/js/...talExtended.js |
|
|
10
|
|
|
#3 | |
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Citation:
Malheureusement, le KML ne s'affiche toujours pas. Que ce soit en mini ou normale, la version "extended" est bien chargée, aucune erreur JS, mais pas d'affichage du tracé KML.. Une piste ? Le KML en question est-il sensé apparaitre dans l'onglet réseau de Firebug ? Je n'ai rien vu de tel dans les exemples.. Aucune activation dans les contrats ? Là non plus je n'ai rien vu qui proposait les KML dans les différentes couches du contrat. |
|
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : mai 2009 Messages : 1 087 ![]() |
Et c'est un bon début: http://atlasnw.free.fr/geoportail/exemples/tbkgeo.html
|
|
|
00
|
|
|
#5 | |
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Citation:
- J'ai repris ton code et KML, en changeant uniquement la clé de licence. => impeccable effectivement, ta map et ton KML s'affiche. Et il est appelé en GET dans l'onglet réseau de Firebug. - J'ai tenté de repasser en 1.2Extended, toujours avec ton code. => ça ne marche plus, pas d'affichage de KML; il n'est PAS appelé en GET dans l'onglet réseau de Firebug. - De nouveau 1.3Extended, avec mon KML => Ca s'affiche, même si les textes associés aux objets ne s'affichent pas correctement.. Mais on arrive à du détail d'affichage et d'interprétation du KML. Bref, mon KML est OK et la v1.3Extended gère correctement (mais ce n'est pas encore une version de prod). Faut-il en conclure que la version 1.2Extended n'est pas "KMLproof" ? Ca me surprend... Est-ce ma façon d'appeler l'API qui perturbe l'inclusion KML ? |
|
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Je viens de passer encore de nombreuses heures sur mon "cas", sans succès.
Si je comprends bien : - L'appel de geoportalLoad+[INSTANCE] est à bannir, cette mécanique devenant obsolète. - du coup http://api.ign.fr/geoportail/api?v=1...gine=true& devient obsolète (je me trompe?) Il faudrait donc désormais privilégier : - Geoportal.load(); à qui on passe la clé, le centrage, les overlays... - du coup, l'appel de l'API se fait avec : http://api.ign.fr/geoportail/api/js/1.2/Geoportal.js .. voire http://api.ign.fr/geoportail/api/js/...talExtended.js car on veut du mode Etendu (merci mga_geo).. Or avec un appel d'API de ce type, les KML ne s'affichent pas. La version 1.3 du dépôt résout le problème, mais cette version n'est pas encore opérationnelle : les "originators" ne s'affichent pas, ni les boites à outils.. Et je me vois mal brancher mon site de prod sur le dépôt.. Donc le fait de charger l'API "à la volée" tel que je le fais ne semble pas problématique.. enfin pas encore.. car en version de base, ça ne marche déjà pas :-( Donc pour résumer : Quelqu'un peut-il m'expliquer comment on intègre un KML à la "nouvelle" norme (sous la 1.2, avec Geoportal.load()) ? Aucun exemple ne montre ce type d'intégration, aucun tutoriel non plus.. Et tous mes essais sont infructueux... Merci d'avance.. |
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() Inscription : mai 2009 Messages : 1 087 ![]() |
Le passage en version 1.3 sur le dépot ne m'inquiète pas.
L'absence de documentation et d'exemples est plus pénalisante. Trouver http://depot.ign.fr/geoportail/api/d...rtal.Loader.JS est un jeu de pistes un peu complexe et ce n'est pas le fil d'Ariane. |
|
|
10
|
|
|
#8 | |||||||||||
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Citation:
Voilà les derniers tests que j'ai effectué : - VERSION 1.2 + GeoportalExtended + Geoportal.load => map OK, centrage OK, boite à outil OK, KML ERREUR, originators ERREUR Code :
- VERSION 1.3 + GeoportalExtended + Geoportal.load => map OK, centrage OK, boite à outil ERREUR, KML OK, originators ERREUR Code :
VERSION 1.3 + GeoportalExtended + Geoportal.loadJS => Erreur Javascript Geoportal.loadJS undefined Code :
- api?v=1.2-e&includeEngine=false + VERSION 1.2 + Geoportal.js (ou +GeoportalExtended.js) + Geoportal.load => map OK, centrage OK, boite à outil OK, KML ERREUR, originators ERREUR Code :
- ANCIENNE METHODE api?v=1.2-e&includeEngine=false + VERSION 1.2 + Geoportal.js + geoportalLoadTBKGEOVIEWER => TOUT EST OK (sauf qu'il s'agit d'une version à bannir..) Code :
Pour résumer, la seule méthode que j'ai réussi à faire tourner, c'est la version "à l'ancienne", que l'on nous demande d'éviter et qui ne sera pas compatible avec la prod d'ici peu. Et en plus, cette version oblige à charger dans le header, ce qui est consommateur pour mon utilisation (je voulais charger la map et son API une fois tout le reste chargé/exécuté sur ma page HTML.. J'ai du louper quelque chose dans l'histoire, ça me surprend qu'on ne puisse pas afficher un KML sans passer par l'API Header (à la "nouvelle" méthode). A l'heure actuelle, je ne vois que 2 issues : - soit en version 1.3 Geoportal.load prend de nouveaux paramètres pour l'affichage des boites à outil et des originators.. et je ne sais pas où les trouver (rien trouvé dans la doc 1.3).. - soit en version 1.2 (et 1.3), nous avons accès à une instance "générique". Dans l'ancien code, tous les affichages se faisaient à partir de l'instance nommé dans l'appel de l'API (VISU, viewer.. ce qu'on voulait). Peut-être que toutes les méthodes de type addLayer & co sont toujours disponibles, mais à partir d'une instance générique à l'API (il suffirait de connaitre son nom..) |
|||||||||||
|
|
00
|
|
|
#9 | ||||||||||
|
Expert Confirmé
![]() ![]() Didier RichardIngénieur cartographe Inscription : avril 2009 Messages : 2 734 ![]() |
Citation:
Code :
overlays:{'kml':[{'nameOfOverlay':'/comresweb/206.kml', options:{}}]}
Code :
Citation:
Citation:
Et pour l'URL mga_geo a répondu : GeoportalExtended.js Citation:
Citation:
Code :
Citation:
Je continue à remonter la discussion ... |
||||||||||
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() ![]() Didier RichardIngénieur cartographe Inscription : avril 2009 Messages : 2 734 ![]() |
Citation:
Et oui, tu utilises une méthode prévue, mais expérimentale en 1.2 qui a été fixée en 1.3. C'est pour cela qu'il n'y avait pas d'exemple en 1.2 ... Voir là
|
|
|
|
00
|
|
|
#11 | ||||||||||
|
Expert Confirmé
![]() ![]() Didier RichardIngénieur cartographe Inscription : avril 2009 Messages : 2 734 ![]() |
Citation:
Citation:
Citation:
* les CSS * les META Citation:
En court: Code :
Code :
Citation:
Citation:
|
||||||||||
|
|
00
|
|
|
#12 | |||||
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Merci tout d'abord pour toutes ces réponses, ça dégrossit la problématique.
Avant d'aller plus loin, juste 2 petites remarques : Citation:
https://api.ign.fr/geoportail/faq.do?faqSubjectId=2 Je copie/colle : Citation:
Ou alors la FAQ a une coquille ? Je pense ne pas être le seul à avoir interprété la FAQ de la sorte... Au sujet de la version "à l'ancienne" que je considérais comme obsolète, tu réponds : Citation:
Tu conseillais aux utilisateurs d'appeler désormais Geoportal.load() à la place. Donc pour moi : - http://api.ign.fr/geoportail/api?v=1...eEngine=false; = geoportalLoad[INSTANCE]() = à éviter - http://api.ign.fr/geoportail/api/js/1.2/Geoportal.js = Geoportal.load() = à utiliser C'est comme cela que je l'avais compris, je pense avoir fait un amalgame. Dans tous les exemples, la seule solution proposée pour charger un KML, était d'utiliser l'API Header + geoportalLoad[INSTANCE](). Revenons à nos moutons : Code :
visible aussi temporairement sur : http://bouffee-oxygene.touriloire.fr/tbkgeo.html J'ai banni la version 1.2. La date de livraison de la 1.3 pour le 20 est un scoop qui me ravit! Attention, pour les internautes qui voudraient pomper ce code, ma méthode de chargement de l'API sur le WINDOW.ONLOAD n'engage que moi, et permet de charger l'API plus tard, donc avec un affichage de la map retardée. Donc ce n'est pas une référence !! Pour le moment, tout semble OK, SAUF les originators.. invisibles en 1.3. J'ai potassé les docs 1.3 de l'API (http://depot.ign.fr/geoportail/api/doc/1.3/jsdoc/ ) qui sont peu loquaces sur le sujet, sauf vis à vis de ça : Geoportal.Control.Logo .. Si ça remplace l'ancienne notation, je ne sais pas comment l'appliquer à mon "overlays"... Donc preneur d'info sur le sujet !! Merci d'avance ! |
|||||
|
|
00
|
|
|
#13 | ||||||
|
Expert Confirmé
![]() ![]() Didier RichardIngénieur cartographe Inscription : avril 2009 Messages : 2 734 ![]() |
Citation:
Citation:
+1 Citation:
Citation:
Citation:
![]() Citation:
|
||||||
|
|
00
|
|
|
#14 | |||
|
Invité régulier
![]() Inscription : février 2012 Messages : 23 ![]() |
Citation:
Citation:
Citation:
C'est marrant qu'on ne trouve pas beaucoup d'adeptes de cette notation, je la trouve simplissime si on veut juste afficher une map avec une ou plusieurs layer. Un appel de la fonction geoportal.load qui initialise la map complétement : clés, centrage, zoom, boite à outils, layers.. En 10 lignes c'est torché, la maintenance est enfantine, que du bonheur. Et tout cas merci pour le suivi. Et bon courage pour la 1.3 / 2.0. Un autre POST verra sans doute le jour au sujet des "placemark" d'ici peu, dès que j'aurais écumé les docs sur le sujet.. Merci et bravo. |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com