IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Problème Google Maps


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 1
    Par défaut Problème Google Maps
    Bonjour,

    Je cherche à affichez une carte google map dans une JFrame. L'utilisateur pourra comme sur une vraie google map pouvoir déplacer la carte. Cependant le seul résultat que j'obtiens c'est une google map qui est statique. Je suis un perdu, est ce que quelqu'un peut m'aider ?

    L'affichage de la carte est dans le but de récupérer les coordonnées quand l'utilisateur clique sur la carte.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    package main;
     
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.text.html.HTMLDocument;
    import javax.swing.text.html.HTMLEditorKit;
     
    /**
     * Afficher une carte GoogleMap dans un JEditorPane
     * @author fobec 2010
     */
    public class JGoogleMapEditorPan extends JEditorPane {
     
        /**
             * 
             */
    	private static final long serialVersionUID = 1L;
    	private int zoomFactor = 7;
        private String ApiKey = "";
        private String roadmap = "roadmap";
        public final String viewTerrain = "terrain";
        public final String viewSatellite = "satellite";
        public final String viewHybrid = "hybrid";
        public final String viewRoadmap = "roadmap";
     
        /**
         * Constructeur: initialisation du EditorKit
         */
        public JGoogleMapEditorPan() {
            HTMLEditorKit kit = new HTMLEditorKit();
            HTMLDocument htmlDoc = (HTMLDocument) kit.createDefaultDocument();
            this.setEditable(false);
            this.setContentType("text/html");
            this.setEditorKit(kit);
            this.setDocument(htmlDoc);
        }
     
        /**
         * Fixer le zoom
         * @param zoom valeur de 0 à 21
         */
        public void setZoom(int zoom) {
            this.zoomFactor = zoom;
        }
     
        /**
         * Fixer la clé de developpeur
         * @param key APIKey fourni par Google
         */
        public void setApiKey(String key) {
            this.ApiKey = key;
        }
     
        /**
         * Fixer le type de vue
         * @param roadMap
         */
        public void setRoadmap(String roadMap) {
            this.roadmap = roadMap;
        }
     
        /**
         * Afficher la carte d'après des coordonnées GPS
         * @param latitude
         * @param longitude
         * @param width
         * @param height
         * @throws Exception erreur si la APIKey est non renseignée
         */
        public void showCoordinate(String latitude, String longitude, int width, int height) throws Exception {
            this.setMap(latitude, longitude, width, height);
        }
     
        /**
         * Afficher la carte d'après une ville et son pays
         * @param city
         * @param country
         * @param width
         * @param height
         * @throws Exception erreur si la APIKey est non renseignée
         */
        public void showLocation(String city, String country, int width, int height) throws Exception {
            this.setMap(city, country, width, height);
        }
     
        /**
         * Assembler l'url et Générer le code HTML
         * @param x
         * @param y
         * @param width
         * @param height
         * @throws Exception
         */
        private void setMap(String x, String y, Integer width, Integer height) throws Exception {
            if (this.ApiKey.isEmpty()) {
                throw new Exception("Developper API Key not set !!!!");
            }
     
            String url = "http://maps.google.com/maps/api/staticmap?";
            url += "center=" + x + "," + y;
            url += "&zoom=" + this.zoomFactor;
            url += "&size=" + width.toString() + "x" + height.toString();
            url += "&maptype=" + this.roadmap;
            url += "&markers=color:blue" + x + "," + y;
            url += "&sensor=false";
            url += "&key=" + this.ApiKey;
     
            String html = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>";
            html += "<html><head></head><body>";
            html += "<img src='" + url + "'>";
            html += "</body></html>";
     
            this.setText(html);
        }
     
        /**
         * Exemple : JGoogleMapEditorPan dans un JFrame
         */
        public static void main(String[] args) {
            JGoogleMapEditorPan googleMap = new JGoogleMapEditorPan();
            try {
                googleMap.setApiKey("Key google api");
                //  googleMap.setRoadmap(googleMap.viewHybrid);
     
                /**
                Afficher la ville de Strabourg
                 */
                googleMap.showLocation("strasbourg", "france", 390, 400);
                /**
                 * Afficher Paris en fonction ses coordonnées GPS
                 */
                //  googleMap.showCoordinate("48.8667", "2.3333",390, 400);
            } catch (Exception ex) {
                Logger.getLogger(JGoogleMapEditorPan.class.getName()).log(Level.SEVERE, null, ex);
            }
     
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(googleMap);
            frame.setSize(400, 420);
            frame.setLocation(200, 200);
            frame.setVisible(true);
        }
    }

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Comme presque subliminalement inscrit dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://maps.google.com/maps/api/staticmap?
    staticmap donc en gros tu recois juste une image et c'est tout. Donc avec ce que tu utlises tu n'auras aucune chance d'avoir un truc dynamique comme le vrai googlemaps pour moi.
    Et à moins de t'amuser a coder et encore tu n'auras probablement pas un truc super pratique.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Problème Google Maps et GPS
    Par tunisdroid dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 19/05/2012, 11h20
  2. Problème Google Maps
    Par gunsailor dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 22/02/2012, 16h41
  3. problème google map api
    Par ben01n dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 06/05/2011, 15h57
  4. Problème google maps
    Par mcskrue dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/12/2010, 18h15
  5. Problèmes google map
    Par bressan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/01/2008, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo