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

Markers as links και Title


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

Δημοσ.

Γεια σας.

Θα ήθελα την βοήθεια σας παρακαλώ.

Παιδεύομαι αρκετές μέρες για να βάλω markers as links. Μπορώ να έχω την βοήθεια σας παρακαλώ;

Επίσης πως βάζω τίτλο στην marker

Σας παραθέτω τον κώδικα.

function initialize()
{
var mapProp = {
  center: new google.maps.LatLng(39.6183413,19.9181346),
  zoom:14,
  mapTypeId:google.maps.MapTypeId.SATELLITE
  };

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker=new google.maps.Marker({
  position: new google.maps.LatLng(39.6183413,19.9181346),
  });

marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);

Δημοσ.

Τι links ενοεις και τι τίτλο? Μήπως Ρώτας πως θα φτιαξεις το info window?

Εννοώ, όταν ο χρήστης πάει πάνω στο marker να του ανοίγει μια ιστοσελίδα.

Δημοσ.

 

Για δοκίμασε να βάλεις στο τέλος του initialize:

marker.addListener('click', function(){
	window.location = 'http://www.insomnia.gr';
});

 

Φίλε μου δούλεψε.

Πως μπορώ να το κάνω να ανοίγει καρτέλα όταν πατάω κλικ απάνω του?

function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(39.6183413,19.9181346),
    zoom:14,
    mapTypeId:google.maps.MapTypeId.SATELLITE
  };

  var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

  var marker=new google.maps.Marker({
    position: new google.maps.LatLng(39.6183413,19.9181346),
  });

  marker.setMap(map);

  marker.addListener('click', function(){
    window.location = 'http://www.insomnia.gr';
  });
}
google.maps.event.addDomListener(window, 'load', initialize);
Δημοσ.

Το window.location οδηγεί το τρέχων παράθυρο κάπου, το  window.open παίρνει 3 παραμέτρους, η πρώτη το url, η δεύτερη window name (που μπορεί να πάρει και την τιμή _blank για να ανοίξει νέο παράθυρο) και άλλη μια με features.

 

 

Επομένως, αντί window.location = ... χρησιμοποιείς:

window.open('http://www.insomnia.gr', '_blank');
Δημοσ.

 

Επομένως, αντί window.location = ... χρησιμοποιείς:

window.open('http://www.insomnia.gr', '_blank');

 

Το _blank χρειάζεται να το ορίσει για κάποιον λόγο; By default δε θα ανοίξει σε νέο tab;

Δημοσ.

Εξαρτάται τι ενοείς by default. Αν δεν κάνω λάθος, αυτό έχει να κάνει με τις ρυθμίσεις του browser.

 

Παίζοντας με '_blank' και '_self' θα δεις ότι υπερισχύει η μεταβλητή των default ρυθμίσεων του browser και ακολουθεί ότι πεις εκει (που είναι και σημειολογικά πιο σωστό, δηλώνοντας ξεκάθαρα τι επιθυμείς).

Έτσι είσαι (νομίζω) σίγουρος ότι δεν θα εξαρτηθεί το αποτέλεσμα από τις default ρυθμίσεις που έχει ο χρήστης στον browser που χρησιμοποιεί.

Δημοσ.

Εξαρτάται τι ενοείς by default. Αν δεν κάνω λάθος, αυτό έχει να κάνει με τις ρυθμίσεις του browser.

 

Παίζοντας με '_blank' και '_self' θα δεις ότι υπερισχύει η μεταβλητή των default ρυθμίσεων του browser και ακολουθεί ότι πεις εκει (που είναι και σημειολογικά πιο σωστό, δηλώνοντας ξεκάθαρα τι επιθυμείς).

Έτσι είσαι (νομίζω) σίγουρος ότι δεν θα εξαρτηθεί το αποτέλεσμα από τις default ρυθμίσεις που έχει ο χρήστης στον browser που χρησιμοποιεί.

 

 

By default εννοώ ότι άμα δεν ορίσεις στον κώδικά σου την δεύτερη παράμετρο (π.χ. _self), τότε η JS συμπεριφέρεται σαν να είχες ορίσει _blank, όπως επίσης και με τις υπόλοιπες παραμέτρους (άμα δεν ορίσεις κάποια εσύ, θεωρεί ότι ισχύουν οι default).

 

Οπότε στην ουσία είναι "τζάμπα" keystrokes να ορίσεις _blank, όταν αυτό γίνεται ούτως ή άλλως.

 

Μπορεί να κάνω και λάθος, δεν έχω ούτε 2 μήνες που ασχολούμαι με JS/jQuery, απλά έτσι το έχω στο κεφάλι μου και θέλω να δω άμα ισχύει!

Δημοσ.

Στο αποτέλεσμα και για το συγκεκριμένο παράδειγμα μάλλον δεν έχεις άδικο, κρατάω μια μικρή επιφύλαξη για το κατά πόσο κάποιες ρυθμίσεις browser μπορούν να αλλάξουν αυτή τη συμπεριφορά - είχα κάτι τέτοιο στο μυαλό μου αλλά δεν είμαι καθόλου σίγουρος και δεν βρίσκω κάποια αναφορά τώρα.

 

Έχε αν θες όμως υπόψιν και αυτό που πραγματικά συμβαίνει: όταν δεν περνάς κάτι σαν δεύτερη παράμετρο (window name) δεν χρησιμοποιείται κάτι σαν default (πχ _blank), φτιάχνεται ένα νέο παράθυρο χωρίς όνομα.

 

Αν - παράδειγμα - για κάποιο λόγο θες να ανοίγεις ένα παράθυρο Α*Β διαστάσεων με βοηθητικές πληροφορίες και κάθε κλικ στο original window να φορτώνει τα στοιχεία που πρέπει στο συγκεκριμένο παράθυρο, θα του δώσεις όνομα και θα καλείς κάθε φορά το ίδιο, πχ window.open('http://www.example.com/api/123', 'helperwindow');

 

και πιθανώς σαν τρίτη παράμετρο τα επιπλέον στοιχεία που θες να έχει.

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

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

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

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

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

Σύνδεση

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

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