2016-06-29 10 views
0

Nach einem Klick auf einem Marker deaktivieren, Ich mag würde zu:, wie Click-Ereignis auf Marker nach Klick

  1. Disable Click-Ereignis auf der Karte
  2. 5 Sekunden warten
  3. Re -enable Click-Ereignis auf der Karte ich ajax verwende sowie setInterval für 3 Sekunden Dies ist mein Code:

    Details = new google.maps.LatLng (18.60301515,73.79623622); bindInfoWindow (Marker, Map, InfoWindow, Details);

    Funktion bindInfoWindow (Markierung, Karte, infowindow, Beschreibung) {

    google.maps.event.addListener(marker,'click', function() { 
        var geocoder = new google.maps.Geocoder(); 
    
        geocoder.geocode({ 'latLng': description }, function (results, status) { 
         if (status == google.maps.GeocoderStatus.OK) { 
          if (results[1]) { 
           var location1=results[1].formatted_address; 
           // set content to marker at click event 
           infoWindow.setContent('Location:'+location1+'<br>'); 
          } 
         } 
        }); 
        infoWindow.open(map, marker); 
    }); 
    

    }

Dank

+0

Unten abstimmen. Duplikat der anderen Antwort des gleichen Benutzers – user2783091

Antwort

2

würde ich so etwas tun:

JavaScript

details = new google.maps.LatLng(18.60301515,73.79623622); 
bindInfoWindow(marker, map, infoWindow , details); 
var allowClick = true; 

function bindInfoWindow(marker, map, infoWindow, description) { 
    google.maps.event.addListener(marker,'click', function() { 
    if(allowClick) { 
     allowClick = false; 

     var geocoder = new google.maps.Geocoder(); 
     geocoder.geocode({ 'latLng': description }, function (results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      if (results[1]) { 
      var location1=results[1].formatted_address;  
      infoWindow.setContent('Location:'+location1+'<br>'); 
      } 
     } 
     }); 
     infoWindow.open(map, marker); 

     setTimeout(function() { allowClick = true; }, 5000); 
    } 
    }); 
} 
+0

Ich benutze Ihren Code klicken Sie deaktivieren n aktivieren problm ist gelöst, aber Standort wird nicht aktualisiert, nachdem die Breite n Länge geändert. Adresse muss auch nach dem Ändern der Punkte ändern bitte helfen – Yogita

+0

@ user5209761 Das klingt wie ein anderes Problem? Wenn ja, posten Sie eine andere Frage. – Arg0n

1

Sie können ein Flag (Global Value) verwenden. und ein Settimer, um den Wert des Flags nach 5 Sekunden zu ändern.

details = new google.maps.LatLng(18.60301515,73.79623622); 
bindInfoWindow(marker, map, infoWindow , details); 
var flag_timer=true; 
function bindInfoWindow(marker, map, infoWindow, description) { 

     google.maps.event.addListener(marker,'click', function() { 
     if(flag_timer===true){ 
     var geocoder = new google.maps.Geocoder(); 

     geocoder.geocode({ 'latLng': description }, function (results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       if (results[1]) { 
        var location1=results[1].formatted_address;  
     infoWindow.setContent('Location:'+location1+'<br>');  // set content to marker at click event 


       } 
      } 
     }); 
     infoWindow.open(map, marker); 
     flag_timer=false; 
     setTimeout(function() { flag_timer = true; }, 5000); 
    } 
    }); 


}  
+0

Ich benutze Ihren Code Klicken Sie auf deaktivieren n aktivieren Problm ist gelöst, aber Standort wird nicht aktualisiert, nachdem die Breite n Länge geändert. Adresse muss auch nach dem Ändern von Punkten ändern bitte helfen – Yogita

+0

Dies scheint eine Kopie meines Codes mit einer umbenannten Variable zu sein ... – Arg0n

+0

@ user5209761können Sie bitte den vollständigen Code anzeigen? Ich sehe nichts in Bezug auf die Aktualisierung der Adresse? –

Verwandte Themen