3
Google지도에서 Overlapping Marker Spiderfier로 웹 페이지의지도를 통합하려고합니다. 다음과 같이 마커에 클릭 리스너를 추가했습니다.javascript 이벤트 함수가 여러 번 호출되었습니다.
$scope.setMarkers = function() {
for (var i = 0; i < $scope.markers.length; i++) {
$scope.markers[i].setMap($scope.map);
$scope.oms.addMarker($scope.markers[i]);
var marker = $scope.markers[i];
var iw = new google.maps.InfoWindow({
content: ""
});
$scope.oms.addListener('click', function(marker) {
iw.setContent(marker.desc);
iw.open($scope.map, marker);
});
}
};
잘 작동하지만 jshint가 루프 내부에서 함수를 작성하는 데 오류가 발생했습니다. 그래서 나는 그것을 바꿨다.
$scope.setMarkers = function() {
for (var i = 0; i < $scope.markers.length; i++) {
$scope.markers[i].setMap($scope.map);
$scope.oms.addMarker($scope.markers[i]);
$scope.addMarkerEventListener(i);
}
};
$scope.addMarkerEventListener = function(i) {
var marker = $scope.markers[i];
var iw = new google.maps.InfoWindow({
content: ""
});
$scope.oms.addListener('click', function(marker) {
iw.setContent(marker.desc);
iw.open($scope.map, marker);
});
};
지금은 마커를 클릭하고 때 90 정보창 다른 뒤에 하나 (내가 배열 (90 개) 마커가) 개까지 개장. 나는 무엇이 없는가.