3
여기에 내 fiddle 링크입니다.Google지도 : 여러 마커에 대해 하나의 정보 창만 생성했습니다
지도에 마커를 추가했으며 모든 마커에 대한 정보도 추가했습니다. 하나의 정보창 만 나타 납니까?
여기에 내 fiddle 링크입니다.Google지도 : 여러 마커에 대해 하나의 정보 창만 생성했습니다
지도에 마커를 추가했으며 모든 마커에 대한 정보도 추가했습니다. 하나의 정보창 만 나타 납니까?
당신이 가서 당신의 createMarker 기능에 마커 앞에 VAR을 추가 example 작업
var ships = [['63.44204833', '10.40340333'], ['63.49261667', '9.92661167'], ['63.43243500', '10.37030833'], ['63.43896000', '10.40036167'], ['63.64856000', '10.67950167'], ['63.43330667', '10.36608000'], ['63.43840500', '10.40874000'], ['63.78920833', '11.19232167'], ['63.45155667', '10.20245833'], ['63.43366667', '10.36150000'], ['63.43956667', '10.40019333'], ['63.47066500', '10.33613500'], ['63.43928333', '10.40971667'], ['63.43822000', '10.39873167']];
var map;
var infowindow = new google.maps.InfoWindow({
content: 'bla'
});
var marker;
function initialize() {
var myLatlng = new google.maps.LatLng(63.65, 10.65);
var myOptions = {
zoom: 9,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.TERRAIN
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function createMarker(lat, lon, html) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lon),
map: map,
title: html
});
createInfoWindow(marker);
}
function createInfoWindow(m) {
google.maps.event.addListener(m, 'click', function() {
infowindow.open(map, m);
});
}
function processShips(ships) {
for (var i = 0; i < ships.length; i++) {
createMarker(ships[i][0], ships[i][1], 'bla');
}
}
function load(ships) {
initialize();
processShips(ships);
}
load(ships);
.
간단하게 여기
var marker = new google.maps.Marker({....
궁금한 점이 있다면 createInfoWindow 메서드 내에서 addListener 메서드를 캡슐화해야하는 이유는 무엇일까요? –