Как сохранить одно окно информации одновременно открытым на карте Google V3?

Я знаю, что этот вопрос повторяется,

Я использую карту Google v3 в своем веб-приложении Django. Где я используюMarkers, Infowindow and polyline, Все работает нормально, за исключением того, что когда я щелкаю маркер, чтобы отобразить содержимое в информационном окне, предыдущее открытое информационное окно не закрывалось.

Я публикую свой код карты (только часть скрипта или полезные):

var marker = add_marker(flightPlanCoordinates[i][0], flightPlanCoordinates[i][1],"Event Detail",myHtml);

ВотmyHtml переменная, которая содержит содержимое информационного окна Я не определил переменную здесь. ТАК игнорировать это.

    marker.setMap(map);
    }

    var flightPath = new google.maps.Polyline({
                 path: flightPlanCoordinatesSet,
                 strokeColor: "#FF0000",
                 strokeOpacity: 1.0,
                 strokeWeight: 2
                  });
    flightPath.setMap(map);
}

function add_marker(lat,lng,title,box_html) {
var infowindow = new google.maps.InfoWindow({
    content: box_html
});

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(lat,lng),
      map: map,
      title: title
});

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

return marker;
}

Ответы на вопрос(1)

Решение Вопроса

Вместо нескольких infoWindows используйте только один экземпляр.

При нажатии на маркер сначала закройте информационное окно, затем установите новый контент и откройте информационное окно.

function add_marker(lat,lng,title,box_html) 
{
  //create the global instance of infoWindow 
  if(!window.infowindow)
  {
    window.infowindow=new google.maps.InfoWindow();
  } 

  var marker = new google.maps.Marker({
      position: new google.maps.LatLng(lat,lng),
      map: map,
      title: title
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.close();
    infowindow.setContent(box_html);
    infowindow.open(map,this)
  });   

  return marker;
}
 08 июл. 2015 г., 14:09
@Blue Bells: можете ли вы разместить ссылку на страницу?
 08 июл. 2015 г., 14:01
@ Dr.Molle У меня есть несколько маркеров вLatLngBounds если я создаю глобальный экземпляр infoWindow, последний infowinodow показывает весь указатель
 11 июл. 2012 г., 10:40
Модифицированная функция add_marker выше должна работать.
 Amit Pal11 июл. 2012 г., 10:20
Спасибо за ответ, я попробовал с этой опцией. но это не сработало. Может быть, я был неправ, если бы вы могли показать мне псевдокод для добавления метода прослушивателя

Ваш ответ на вопрос