2016-11-17 7 views
-1

Я пытаюсь добавить событие onclick к изображению внутри InfoWindow, так что при щелчке изображения вызывается функция Javascript.Добавление события onclick к изображению внутри Карт Google InfoWindow

«имя» - это название места, а «образ» - это местоположение изображения. Они оба хорошо видны, когда я нажимаю на маркер, но ничего не происходит, когда я нажимаю на изображение.

Мой текущий код:

var infowindow = new google.maps.InfoWindow({content: name + "</br>" + "<img 
onclick='output()' src='images/" + image +  
"'style=height:100px;width:100px;float:none;>"}); 
    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map,marker); 
    }); 
    function output() 
    { 
     $("#output").html("yes"); 
    } 

И HTML:

<h1>My First Google Map</h1> 

<div id="map" style="width:60%;height:500px"></div> 
<div id="output"></div> 



</body> 
+0

Опубликованный код работает для меня ([скрипка] (http: // jsfidd le.net/geocodezip/L2tf6sru/4/)). Пожалуйста, предоставьте [mcve], демонстрирующий вашу проблему. – geocodezip

ответ

0

Это не мой ответ, но может может помочь вам в этом разделе показано, как вызвать это событие на google maps Trigger event with infoWindow or InfoBox on click Google Map API V3:

function addMarkers() 
    { 
     var marker, i; 
     var infowindow = new google.maps.InfoWindow({ 
      disableAutoPan: true 
      ,isHidden:false 
      ,pixelOffset: new google.maps.Size(-10, -10) 
      ,closeBoxURL: "" 
      ,pane: "mapPane" 
      ,enableEventPropagation: true 
     }); 
     for (var i = 0; i < cityList.length; i++) 
     { 
      marker = new google.maps.Marker({ 
       position: new google.maps.LatLng(cityList[i][1], cityList[i][2]), 
       map: map, 
       id: i, 
       title: cityList[i][0] 
      }); 

      var boxText = document.createElement("div"); 
      boxText.id = i; 
      boxText.className = "labelText" + i; 
      boxText.innerHTML = cityList[i][0]; 
      boxList.push(boxText); 

      google.maps.event.addListener(marker, 'click', (function(marker, i) { 
       var contentString = '<div id="infoWindow">' 
        +'<div id="bodyContent">' 
        +'<p>' 
        + "This location is:<br>" 
        + marker.title 
        +'</p>' 
        +'</div>' 
        + '</div>'; 

       return function() { 
        infowindow.setContent(boxList[this.id]); 
        infowindow.open(map, marker); 
       } 
       })(marker, i)); //end add marker listener 

       google.maps.event.addDomListener(boxList[i],'click',(function(marker, i) { 
         return function() { 
          alert('clicked ' + cityList[i][0]) 
         } 
         })(marker, i)); 
      } //endfor    
     }//end function