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

JavaScript Discussion :

Créer carte personnalisée


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut Créer carte personnalisée
    bonjour

    Je souhaite créer une carte personnalisée pour géolocaliser les adhérents de mon association.
    j'ai une base SQL avec adresse complète des adhérents

    Je suis souhaite utiliser openstreetmap (pour plein de raisons )

    du coup il faut que j'utilise
    nominatim pour récupérer les coordonnées longitude et latitude
    et OpenLayers pour l'affichage

    je bloque sur deux choses :
    1 - comment réinjecter les coordonnées dans ma base où j'ai l'adresse de mes adhérents
    2 - j'ai beau suivre ce tuto http://fsery.fr/spip.php?article55 je n'arrive pas à afficher plusieurs points sur ma carte.

    Est ce que quelqu'un peut me donner un coup de main?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    je déplace vers le forum javascript, mais il conviendrait que tu nous mettes le code qui te pose problème.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut créer carte personnalisé
    voilà je vous donne des plus d'infos:

    je n'avais jamais travaillé avec du json et java (le principal problème doit être là )

    j'utilise ce code et tout fonctionne
    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
     
    var couche_markers = new OpenLayers.Layer.Markers("Markers");
     
    var dimension_icon = new OpenLayers.Size(24,24);
    var offset_icon = new OpenLayers.Pixel(-(dimension_icon.w/2), -dimension_icon.h);
    var icon = new OpenLayers.Icon('icon.png', dimension_icon, offset_icon);
     
     
    lonlat=new OpenLayers.LonLat(55.44834,-20.87729).transform(
              new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
              new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
            );
     
    var mon_marker=new OpenLayers.Marker(lonlat, icon);
     
    couche_markers.addMarker(mon_marker);
     
    la_carte.addLayer(couche_markers);
    mais la boucle proposé en dessous de l'article noté dans mon poste ne fonctionne pas!
    visiblement

    pour la géolocalisaton je souhaiterai créer une boucle avec ce type d'url

    http://nominatim.openstreetmap.org/s...is&format=json

    pour récupérer le coordonnées longitude et latitude des adresses de mes adhérents et d'enregistrer cela dans un champs SQL

    comment récupérer le champs json, prendre l'élément qui va bien et actualiser ma base

    Merci pour votre aide

  4. #4
    Membre très actif
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Par défaut
    pour géolocaliser les adhérents de mon association.
    Le veulent-ils vraiment aussi ? Tu dois te poser la question d'abord non ?

    Car j'imagine que c'est pour être affiché sur ton site, et les utilisateurs n'ont peut-être pas à savoir les données des autres utilisateurs.
    En tous cas, perso, si j'étais inscris dans ton assoc, je ne voudrais pas que mon lieu d'habitation soit affiché sur un site internet qui plus est sur une carte géographique, sans mon consentement.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut
    je te remercie dragonno pour ta remarque, mais le principe de mon assoc est de faciliter la mise en relation entre personne, le lieu affiché ne correspond pas au lieu d'habitation, et la page sera accessible que sur partie privé

    j'avance tranquillement sur mon code

    maintenant la boucle fonctionne
    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
     
    for (i = 0; i < adherent.length; i++){
     
    var dimension_icon = new OpenLayers.Size(24,24);
    var offset_icon = new OpenLayers.Pixel(-(dimension_icon.w/2), -dimension_icon.h);
    var icon = new OpenLayers.Icon('icons/up.png', dimension_icon, offset_icon);
     
    lonlat=new OpenLayers.LonLat(adherent[i][2], adherent[i][1]).transform(
              new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
              new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
            );
     
    var mon_marker=new OpenLayers.Marker(lonlat, icon);
     
    couche_markers.addMarker(mon_marker);
    mon_marker.icon.imageDiv.title = adherent[i][0];
     
       }
    où mes coordonnées sont dans un tableau imbriqué.
    maintenant j'ai un title sur chaque point, mais quitte à être gourmand je souhaiterai avoir une info-bulle
    comment faire?

    visiblement pour pour récupérer les coordonnées je vais être obligé de coder un bout d'ajax pour réinjecter dans ma base SQL les coordonnées récupérées via nominatim, c'est ça?

    merci d'avance

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    où mes coordonnées sont dans un tableau imbriqué.
    maintenant j'ai un title sur chaque point, mais quitte à être gourmand je souhaiterai avoir une info-bulle
    comment faire?
    je ne connais pas openLayers mais pas mal d'exemples sont visiblement disponibles et il existe la documentation officielle

    visiblement pour pour récupérer les coordonnées je vais être obligé de coder un bout d'ajax pour réinjecter dans ma base SQL les coordonnées récupérées via nominatim, c'est ça?
    je crois qu'il n'y aura pas moyen d'y échapper, mais c'est peut être également faisable coté serveur, je parle de la récupération des infos au format jSon.

Discussions similaires

  1. créer carte interactive [flash cs5]
    Par sebcircus dans le forum Flash
    Réponses: 1
    Dernier message: 17/04/2012, 22h57
  2. Comment créer JProgressBar personnalisée
    Par viejo dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 02/01/2012, 13h15
  3. Créer scrollbar personnalisée avec jquery
    Par -yasmine- dans le forum jQuery
    Réponses: 2
    Dernier message: 13/09/2010, 11h09
  4. [Recherche] Logiciel pour créer carte localisation
    Par BenoitDenis dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 07/09/2010, 14h59
  5. Réponses: 5
    Dernier message: 02/03/2006, 18h13

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