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

JavaScipt Marker APIs


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

Δημοσ.

Καλησπέρα, 

 

στον παρακάτω κώδικα αυτό που κάνω είναι σε ένα map, να έχω δημιουργήσει σε ένα σημείο έναν Marker. Στο ActionListener του marker αυτού δημιουργώ έναν δεύτερο marker, συγκεκριμένα το marker2.

Το πρόβλημα μου είναι όταν προσπαθώ να δημιουργήσω ένα ActionListener για το marker2. Συγκεκριμένα θα ήθελα στο actionListener του marker2 να εμφανίζεται το μήνυμα "hello world". Ο κώδικας μου προσπαθεί να το κάνει αυτό αλλά αποτυγχάνει. 

 

Ευχαριστώ για την βοήθεια.

<!DOCTYPE html>
<html>
   <head>
      <script
         src="http://maps.googleapis.com/maps/api/js"></script>
      <script>
         var myCenter=new google.maps.LatLng(51.508742,-0.120850);
         
         function initialize()
         {
         var mapProp = {
           center:myCenter,
           zoom:5,
           mapTypeId:google.maps.MapTypeId.ROADMAP
           };
         
         var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
         
         var marker=new google.maps.Marker({
           position:myCenter,
           });
         
         marker.setMap(map);
         
         var infowindow = new google.maps.InfoWindow({
           content:"Hello World!"
           });
         
         google.maps.event.addListener(marker, 'click', function() {
              var  marker2 = new google.maps.Marker({
                           position: new google.maps.LatLng(52.508742,-1.120850),
                          
                       });
              marker2.setMap(map);
           });


          /*  provlimatikos kodikas apo edw kai katw */
          var infowindow = new google.maps.InfoWindow({
              content:"Hello World!"
          });
           google.maps.event.addListener(marker2, 'click', function(){
                 infowindow.open(map,marker2);

           });

         }
         
         google.maps.event.addDomListener(window, 'load', initialize);
      </script>
   </head>
   <body>
      <div id="googleMap" style="width:500px;height:380px;"></div>
   </body>
</html>
Δημοσ.

Άλλαξε αυτό:

google.maps.event.addListener(marker, 'click', function() {
    var marker2 = new google.maps.Marker({
        position: new google.maps.LatLng(52.508742,-1.120850),
    });
    marker2.setMap(map);
});

σε αυτό:

var marker2 = new google.maps.Marker({
    position: new google.maps.LatLng(52.508742,-1.120850),
});

google.maps.event.addListener(marker, 'click', function() {
    marker2.setMap(map);
});

Το πρόβλημα είναι ότι όταν εκτελείς αυτό:

google.maps.event.addListener(marker2, 'click', function(){
    infowindow.open(map,marker2);
});

δεν έχεις κάνει initialise το marker2.

Δημοσ.

Ξερω εχουν περασει μερικες μερες απο την τελευταια απαντηση απλα θα ελεγα αν ακομα ψαχνεσαι να κοιταξεις και το leafletjs. Χρησιμοποιει το mapbox για τα tiles. Tα markers προσθετονται πολυ ευκολα ετσι L.marker([51.5, -0.09]).addTo(map)

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

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

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

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

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

Σύνδεση

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

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