코드가 완벽하게 작동합니다. 내가보고있는 문제는 Markers가 처음로드되었을 때 Auto-Open을하지 않는다는 것입니다.Google지도 API 자동 열기 infoWindow
여기 내 코드입니다. 첫 번째 시도에서 "infoWindow.open (map, marker);" For 문 양쪽 모두에서 for 문 결론을 진행하십시오.
또한 현재 코드가있는 codepen도 있습니다. https://codepen.io/designsbycamaron/pen/evPWbL
jQuery(function($) {
// Asynchronously Load the map API
var script = document.createElement('script');
script.src = "//maps.googleapis.com/maps/api/js?key=AIzaSyCHlDHe3KZYAMqQIQoklenAKqi6jE2lxPA&callback=initMap";
document.body.appendChild(script);
});
function initMap() {
var mapOptions = {
center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
zoom: 10,
mapTypeControl: false,
draggable: false,
scaleControl: false,
scrollwheel: false,
navigationControl: false,
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("main_map"), mapOptions);
//Create and open InfoWindow.
var infoWindow = new google.maps.InfoWindow();
for (var i = 0; i < markers.length; i++) {
var data = markers[i];
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: data.title
});
//Attach click event to the marker.
(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
//Wrap the content inside an HTML DIV in order to set height and width of InfoWindow.
infoWindow.setContent("<div style = 'width:200px;min-height:40px'>" + data.description + "</div>");
});
})(marker, data);
}
infoWindow.open(map,marker);
}
을하고 싶었던 것을 확실하지 . 원하는 결과는 무엇입니까? infoWindow를 올바른 위치로 옮기고 새로운 내용으로 컨텐츠를 설정하겠습니까? –
또는 각 마커에 대한 정보창을 원하고 자동으로 열 수 있습니까? –
InfoWindow가 내용없이 열리 며, 하나만 열리면 한 번 열립니다. 좌절 ... 원하는 결과는 각 위치의 내용과 함께 각 위치에 대해 창이 열리라는 것입니다. – Cam