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

Ruby on Rails Discussion :

Cherche un gem MAP


Sujet :

Ruby on Rails

  1. #1
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut Cherche un gem MAP
    Bonjour,

    Dans mon projet Ror, j'aurais besoin de mettre une application qui permette de faire du map (zone cliquable sur html )

    Auriez-vous dans vos cartons une idée.

    Merci

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    c'est à dire ?

    tu peux te faire un simple helper non ?
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    tu parles de goole map ?

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Heu je précise.

    (je suis toujours dans mon application de discrimination auditive)

    Mes utilisateurs aurons la possibilité télécharger une image, a partir de cette image et en restant dans mon application, je voudrais leur offrir la possibilité de créer des zones cliquable et de mettre un mot dans le "title", de façon à produire un fichier rhtml avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <map coord="123,43655" title="lapin" .....>
    .

    voyez vous de quoi je parle?

    merci de voter aide

  5. #5
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    je doit t'avouer qu'en web pur, je ne voit pas trop comment ils pourraient faire... via une applui flash, sans soucis mais sinon...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Ben , j'avais espoir que l'un de vous aurais entendu parler d'une application fais en ajax ou flash effectivement

  7. #7
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    sinon, faut rentrer dans le javascript pur...

    tu fait un form_remote_tag, avec dedans un image_submit_tag, et tu va définit un évènement onsubmit.

    Il faut ensuite que tu récupères les coordonnées de la souris en javascript pour les transmettre à Rails, puis une seconde fois pour obtenir une deuxième position.

    Tu devrai ainsi pouvoir dessiner des rectangles sur ton image...


    (pas de bol, en Rails, le image_submit_tag ne retourne pas les coordonnées)
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    t'imagine le boulot?

  9. #9
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    pas tant que ça, tu te charges de me trouver une fonction javascript (compatible tout navigateur) qui récupère les coordonnées (de préférence deux, une pour les abscisses, l'autre pour les ordonnées), et je te fait ça
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  10. #10
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    CHICHE

  11. #11
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    ---> Javascript
    J'ai déja codé un truc comme ça, en full javascript.
    Par contre, les utilisateurs concernés, avaient tous le meme navigateur, avec javascript activé...

    via une applui flash, sans soucis
    Pas si sûr !
    L'upload en Flash c'est pas trop ça encore...
    Si c'est juste du téléchargement, ça peut encore passer...

  12. #12
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    En javascript pour IE, récupérer les coordonnées de la souris :
    Pour tester les coordonnées d'un objet sur la page :
    (Et non pas mon_objet.left qui va planter...)
    Mais bon, on s'éloigne de Ruby et de Rails là

  13. #13
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Citation Envoyé par Zfred
    ---> Javascript
    J'ai déja codé un truc comme ça, en full javascript.
    Par contre, les utilisateurs concernés, avaient tous le meme navigateur, avec javascript activé...


    Pas si sûr !
    L'upload en Flash c'est pas trop ça encore...
    Si c'est juste du téléchargement, ça peut encore passer...
    ah bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mes utilisateurs aurons la possibilité télécharger une image, a partir de cette image et en restant dans mon application, je voudrais leur offrir la possibilité de créer des zones cliquable et de mettre un mot dans le "title", de façon à produire un fichier rhtml avec
    si tu sais codé en AS. Pas de problème

  14. #14
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Citation Envoyé par bolo
    si tu sais codé en AS. Pas de problème
    C'est quoi AS ?

  15. #15
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    ActionScript

  16. #16
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Voila,

    Après des retrouvaille avec un bouquin, et mon langage d'apprentissage(Php), je te met les fichiers qui trouve les coordonnées de l'écran.

    C'est fais en php, mais bon également valable pour Ror.

    Ah oui je ne gére que le modèle Gecko/Khtml.

    Merci de votre aide
    Fichiers attachés Fichiers attachés

  17. #17
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    @Bolo :
    si tu sais codé en AS. Pas de problème
    C'est pas tellement ça qui pose probleme, mais plutot le type de plateforme de départ et d'arrivée. (Linux/Windows/Mac...)...
    Mais bon voila, c'est pas tellement le sujet ici.

    @MaitrePylos :
    Bravo nikel
    J'aime bien la technique pour l'envoyer au serveur en Ajax.
    Bon, sur ton exemple c'est un peu délirant de passer par un serveur pour afficher les coordonnées de la souris sur le poste cient, (lol) mais j'imagine que ça répond à ton besoin initial et que tu fais un traitement sur le serveur, une fois qu'il a récupéré les coordonnées...
    Merci en tout cas pour ton code

  18. #18
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Alors, me voici me voila (j'ai perdu un temps monstre à trouver somment colorer les zones sensibles, mais il semble que ce ne soit pas possible )

    layouts/application.rhtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <%= javascript_include_tag :defaults %>
            <%= stylesheet_link_tag("style") %>
            <title><%= @body_title || "titre par défaut" %></title>
        </head>
        <body<%= @body_extras %>>
            <%= yield %>
        </body>
    </html>
    controllers/test_controller.rb
    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
     
    class TestController < ApplicationController
      def image_submit
        session['coordonnees'] = nil
        session['my_maps'] = []
        @shapes = { 'Rectangle' => 'rect', 'Cercle' => 'circle'}
      end
     
      def voir_coord_images
        if session['coordonnees']
          if params['shape'] == 'circle'
            rayon = Math::sqrt((session['coordonnees'][0].to_i - params['posx'].to_i)**2 + (session['coordonnees'][1].to_i - params['posy'].to_i)**2)
            coordonnees = session['coordonnees'].join(',') + ',' + rayon.round.to_s
          else
            coordonnees = session['coordonnees'].join(',') + ',' + params['posx'] + ',' + params['posy']
          end
          session['my_maps'].push({'shape' => params['shape'], 'coords' => coordonnees, 'cible' => params['target'], 'alt' => params['txt_alt']})
          session['coordonnees'] = nil
          @image_maps = session['my_maps']
        else
          session['coordonnees'] = [params['posx'], params['posy']]
          @image_maps = nil
        end
     
        render(:update) { |page|
          page.replace_html "infos", "Le formulaire a été soumis avec les paramètres suivants :<br />#{params.inspect}"
          unless @image_maps.nil?
            page.replace_html "image_map_div", :partial => 'image_map'
          end
        }
      end
    end
    views/image_submit.rhtml
    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
    <% form_tag %>
    	<label>Forme :</label>
    	<%= select('img_tag', 'shape', @shapes) %>
    	<br />
    	<label>URL cible :</label>
    	<%= text_field('img_tag', 'target') %>
    	<br />
    	<label>Texte alternatif :</label>
    	<%= text_field('img_tag', 'alt') %>
    <% end_form_tag %>
    <br /><br />
    <%= link_to_remote image_submit_tag("test_image_map.jpg", :id=>"mon_image"),
                :url=>{:action=>"voir_coord_images"},
                :with=>"'posx=' + detectXPosition(event, 'mon_image') + '&posy=' + detectYPosition(event, 'mon_image') + '&shape=' + $('img_tag_shape').value + '&target=' + $('img_tag_target').value + '&txt_alt=' + $('img_tag_alt').value"
    %>
    <br /><br />
    <div id="infos"></div>
    <hr />
     
    <div id="image_map_div"></div>
    <hr />
    views/_image_map.rhtml
    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
    <map name="my_map">
    	<% @image_maps.each do |img_map| %>
    		<%= tag('area',
    			{
    				:shape => img_map['shape'],
    				:coords => img_map['coords'],
    				:href => img_map['cible'],
    				:alt => img_map['alt']
    			}
    		) %>
     
    	<% end %>
    </map>
     
    <%= image_tag "test_image_map.jpg", :usemap=>"#my_map", :border => 0 %>
    Et si c'est pas beau, ça te génère comme un grand tes zones cliquables

    Edit : last but not least :

    public/javascripts/application.js
    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
    // Place your application-specific JavaScript functions and classes here
    // This file is automatically included by javascript_include_tag :defaults
     
     
    // Detect the X position of the mouse relativly to an element
    function detectXPosition(e, element_id){
    	element_pos = findPos(element_id);
    	elt_x = element_pos[0]
        if(parseInt(navigator.appVersion) >=4){
            if(navigator.appName == 'Netscape'){
                pos_x = e.pageX - elt_x;
            }
            else{
                pos_x = event.x - elt_x;
            }
            return pos_x;
        }
    }
     
    // Detect the Y position of the mouse relativly to an element
    function detectYPosition(e, element_id){
    	element_pos = findPos(element_id);
    	elt_y = element_pos[1]
        if(parseInt(navigator.appVersion) >=4){
            if(navigator.appName == 'Netscape'){
                pos_y = e.pageY - elt_y;
            }
            else{
                pos_y = event.y - elt_y;
            }
            return pos_y;
        }
    }
     
    // Get the position of the object
    function findPos(element_id) {
    	obj = document.getElementById(element_id);
    	var curleft = curtop = 0;
    	if (obj.offsetParent) {
    		curleft = obj.offsetLeft
    		curtop = obj.offsetTop
    		while (obj = obj.offsetParent) {
    			curleft += obj.offsetLeft
    			curtop += obj.offsetTop
    		}
    	}
    	return [curleft,curtop];
    }
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  19. #19
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut











    Ps: j'ai une petite erreur js

  20. #20
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Citation Envoyé par MaitrePylos
    Ps: j'ai une petite erreur js
    quelle erreur ?
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Google Maps] Ajouter un marqueur sur le google maps quand on cherche un endroit
    Par sonny.ng dans le forum APIs Google
    Réponses: 2
    Dernier message: 28/06/2014, 13h16
  2. Cherche script map world
    Par cheriecom dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 07/01/2011, 18h09
  3. Cherche générateur de map area en HTML
    Par YuGiOhJCJ dans le forum Outils
    Réponses: 3
    Dernier message: 16/07/2009, 13h51
  4. Space Mapping MATLAB : cherche manuel en français
    Par ramrouma dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/10/2006, 13h07
  5. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16

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