Подтвердить что ты не робот

Google maps-api v3 InfoWindow автоматически открывается при загрузке страницы

Я работаю над проектом, где я использую Google Maps api-v3, На карте будет несколько маркеров места, содержащих информацию, которую я храню в InfoWindow.

Мне интересно, так или иначе, вы можете установить InfoWindow для автоматического открытия на загрузке страницы (автоматически откроется без взаимодействия с пользователем).

Поиск в Интернете всего, что я могу найти, это то, что его нужно привязать к прослушивателю событий, но все события, которые, по-видимому, имеют объекты InfoWindow, являются событиями мыши.

Кто-нибудь знает о каком-то обходном пути?

4b9b3361

Ответ 1

Не уверен, что я полностью понимаю ваш вопрос, но это работает для меня с жестко закодированным LatLng:

var infoWindow = null;
function initialize() 
{
    infoWindow = new google.maps.InfoWindow();
    var windowLatLng = new google.maps.LatLng(43.25,-68.03);
    infoWindow.setOptions({
        content: "<div>This is the html content.</div>",
        position: windowLatLng,
    });
    infoWindow.open(map); 
} // end initialize

google.setOnLoadCallback(initialize);

Ответ 2

Я очень опаздываю на этот вопрос, но я хотел бы поделиться чем-то. Я также искал его решение и даже не получил работу над вышеупомянутым решением. Затем я попробовал себя и получил свое собственное решение (я не эксперт, и моя идея может быть не очень хорошей, но отлично работает для меня). мы обычно делаем

var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', (function(marker) {
return function() {
    infowindow.setContent('some content here');
      infowindow.open(map, marker);
    }
})(marker));

замените указанные строки следующим образом:

var infowindow = new google.maps.InfoWindow();
infowindow.setContent('some content here');
infowindow.open(map, marker);

не дожидаясь, когда событие click маркера просто установит содержимое и откроет его (вы должны определить марку и маркер, а также точки ввода для вашего маркера).

Ответ 3

Просто возьмите infowindow.open(карта, маркер); из google.maps.event.addListener. Он должен выглядеть следующим образом:

      var marker = new google.maps.Marker({
      position: myLatlng1,
      map: map,
      title: 'Uluru (Ayers Rock)'

  });

  infowindow.open(map,marker);

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

Ответ 4

Вот мой код, который загружает информационное окно с картой, а также с помощью мыши.

map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
    map: map,
    icon: "/images/map-marker.png",
    draggable: true,
    position: results[0].geometry.location

});
var infowindow = new google.maps.InfoWindow({
    content: "Use pin to point your exact locality"
});
google.maps.event.addListener(marker, 'mouseover', function () {
    infowindow.open(map, marker);
});
infowindow.open(map, marker);

Ответ 5

function initMap() {
    var cairo = {lat:18.519331, lng: 73.849421};
    var map = new google.maps.Map(document.getElementById('map'), {
        scaleControl: true,
        center: cairo,
        zoom: 15,
    });

    var infowindow = new google.maps.InfoWindow;
    infowindow.setContent('<b>adddress</b>');

    var marker = new google.maps.Marker({map: map, position: cairo});
    infowindow.open(map, marker);
    infoWindow.open(map); 
}
<script async defer 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCrCByzXY6y5KMSOi9AuqWVf4VYZPyJ5SE&language=hi&region=EG&callback=initMap">
</script>
<div id="map"></div>