更改内容infowindow地图v3

Tom*_*mmy 13 javascript maps infowindow

我试图改变显示在DIV内部的内容,这是一个infowindow的内容.我已经能够在infowindow中将内容从Hello更改为YO.问题是当我关闭infowindow并重新打开它时,更新的内容将恢复为原始状态.以下是我的代码:

  google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
      if (event.type == google.maps.drawing.OverlayType.MARKER) {
          //event.overlay.setTitle("Hello");
          var infowindow = new google.maps.InfoWindow({
              content: '<div id="content" onmouseover="updateContent()">Hello</div>',
              maxWidth: 10
          });
          google.maps.event.addListener(event.overlay, 'click', function() {
              infowindow.open(map, event.overlay);
          });
      }
  });

  function updateContent() {
      document.getElementById('content').innerHTML = "Yo";
  }
Run Code Online (Sandbox Code Playgroud)

我基本上想要创建一个默认信息窗口,并允许用户在将市场放在页面后输入自己的文本...

Bro*_*lke 12

我发现上面接受的答案不起作用,因为我必须使用setContent(),如下所示:

google.maps.event.addListener(drawingManager, 'overlaycomplete', function (event) {
    if (event.type == google.maps.drawing.OverlayType.MARKER) {
        //event.overlay.setTitle("Hello");
        var infowindow = new google.maps.InfoWindow({
            content: '<div id="content" onmouseover="updateContent()">Hello</div>',
            maxWidth: 10
        });
        google.maps.event.addListener(event.overlay, 'click', function () {
            infowindow.open(map, event.overlay);
        });
    }
});
function updateContent() {
    infowindow.setContent("Yo");
}
Run Code Online (Sandbox Code Playgroud)


Ram*_*tha 10

你必须通过setContentHTML方法设置内容

var infowindow ;
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
    if (event.type == google.maps.drawing.OverlayType.MARKER) {
        //event.overlay.setTitle("Hello");
        infowindow = new google.maps.InfoWindow({
            content: '<div id="content" onmouseover="updateContent()">Hello</div>',
            maxWidth: 10
        });
        google.maps.event.addListener(event.overlay,'click',function()
        infowindow.open(map,event.overlay);
     });
}});

function updateContent(){
    infowindow.setContent("YO");
} 
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用"infowindow.setContent(...)"函数代替,这对我很有用:) (8认同)
  • 很好的认同 (2认同)