infoWindow. , infoBubble, . , , , , ..
var infoBubbles = [];
var markersArray = [];
var sidebarHtmlArray = [];
function setPoints(locations){
for (var i = 0; i < locations.length; i++) {
var point = locations;
var myLatLng = new google.maps.LatLng(point[i].lat, point[i].lng);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
animation: google.maps.Animation.DROP,
icon: point[i].marker_icon
});
markersArray.push(marker);
var sidebarItem = point[i].sidebarHtmlView;
sidebarHtmlArray.push(sidebarItem);
infoBubbles[i] = new InfoBubble({
map: map,
minHeight: point[i].min_height,
maxHeight: point[i].max_height,
minWidth: point[i].min_width,
maxWidth: point[i].max_width,
disableAutoPan: false,
hideCloseButton: false,
arrowPosition: 30,
padding:12
});
var tabs = point[i].tabs;
infoBubbles[i].addTab('Company', point[i].html);
for (var ii = 0; ii < tabs.length; ii++) {
infoBubbles[i].addTab(tabs[ii].tabTitle, tabs[ii].tabContent);
}
google.maps.event.addListener(marker, 'click', handleMarkerClick(marker, i));
}
}
function handleMarkerClick(marker,index) {
return function() {
if (!infoBubbles[index].isOpen()) {
infoBubbles[index].open(map, marker);
}else{
infoBubbles[index].close(map, marker);
}
}
}
function addMarker(location, marker_icon){
marker = new google.maps.Marker({
position: location,
map: map,
animation: google.maps.Animation.DROP,
icon: marker_icon
});
markersArray.push(marker);
}