Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω φτιάξει μια σελίδα με Google Map + markers (jQuery, JavaScript, PHP). Ο χρήστης κάνει δεξί click σε ένα σημείο του χάρτη κι ένα bubble του εμφανίζεται με πεδία τα οποία συμπληρώνει και πατάει save για να αποθηκευτεί το marker του στον χάρτη.

Το θέμα είναι ότι θέλω αυτό να μπορεί να γίνεται και μέσω tablets (τα οποία δεν έχουν right click). Πως μπορώ να το κάνω αυτό;
Έλεγα να χρησιμοποιούσα κανέναν κώδικα που εντοπίζει παρατεταμένο click (= παρατεταμένη πίεση στην οθόνη του tablet; ), ωστόσο στα PC, η παρατεταμένη πίεση του ποντικιού χρησιμοποιείται και για να "συρθεί" ο χάρτης..

Καμιά ιδέα; :-)

Δημοσ.

καλησπέρα φίλε. Μήπως στο δεξί click να βγάζει ένα popup menu ? με δύο επιλογές


* αριστερό click 

Δημοσ.

mmm και πως θα "σύρεται" ο χάρτης αν βάλω μενού στο αριστερό click;

Όταν πατάς αριστερό click στο Google Maps, εμφανίζεται ένα χεράκι που "πιάνει" τον χάρτη.

 

Ευχαριστώ για την απάντηση! :-)

Δημοσ.

αν όριζες ένα button σε κάποιο σημείο που να βολεύει στο interface και να είχε τον ρόλο του δεξί κλικ?

Δημοσ.

Πολύ καλή ιδέα!

Ωστόσο χρησιμοποιώ ήδη plugin για google maps. Θα ήθελα να πετύχω το ίδιο με το script που χρησιμοποιώ. Μέχρι στιγμής έχω πετύχει το ακόλουθο: όταν κάποιος κρατάει το click για παραπάνω από κάποια milliseconds (στο παράδειγμα 3000), τότε δημιουργεί marker:

      // Longclick for tablets    
      function LongClick(map, length) {
          this.length_ = length;
          var me = this;
          me.map_ = map;
          google.maps.event.addListener(map, 'mousedown', function(e) { me.onMouseDown_(e) });
          google.maps.event.addListener(map, 'mouseup', function(e) { me.onMouseUp_(e) });   
      }   
      LongClick.prototype.onMouseUp_ = function(e) {
          var now = +new Date;
          if (now - this.down_ > this.length_) {
              google.maps.event.trigger(this.map_, 'longpress', e);
          }   
      }   
      LongClick.prototype.onMouseDown_ = function() {
          this.down_ = +new Date;   
      }
      new LongClick(map, 3000);
      google.maps.event.addListener(map, 'longpress', function(event) {
          // open new marker bubble
      });      
      

Θα ήθελα να κάνω το εξής: να ανοίγει το bubble μόνο αν το ποντίκι έχει μείνει ακίνητο καθόλη τη διάρκεια του long click. Αν εντοπιστεί κίνηση, τότε να μηδενίζεται ο χρόνος και να ξανά μετράει από την αρχή τα milliseconds ώσπου να εμφανίσει bubble.

 

Κάτι μου λέει ότι δεν είναι δύσκολο.. :-)

Δημοσ.

jQuery plugin που κάνει handle touch events. Δε χρειάζεται να ξαναανακαλύψεις τον τροχό.

Έχεις να προτείνεις κάποιο απλό στη χρήση; :-)

 

Ελπίζω να μπορέσω να το κάνω να δουλέψει όπως δουλεύει το:

google.maps.event.addListener(map, 'longpress', function(event) {}

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...