nie mogę usuwać markerów po zoomowaniu bo to trochę mija się z celem - chce usunąć wszystkie a potem dodać tylko wybrane. Możecie mi wskazać co robię źle, że po zoomie pojawiają się na nowo markery? To jest wersja robocza więc trochę bałaganu jest.
var geocoder;
var map;
var markers = [];
var myLatlng;
var position;
function setAllMap(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
function clearMarkers() {
setAllMap(null);
}
function deleteMarkers() {
clearMarkers();
marker = [];
}
function initialize(address, zoome) {
var activeWindow;
geocoder = new google.maps.Geocoder();
var mapOptions = {
zoom: zoome,
center: position,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("company_map"), mapOptions);
showAddress(address, zoome);
var fluster = new Fluster2(map);
{/literal}
{foreach from=$company->list.markers item=i key=k}
{literal}
var infoWindow{/literal}{$k}{literal} = new google.maps.InfoWindow({
content: '{/literal}<span class="testowo" style="font-size:12px"><strong>{$i.name}</strong><br/>{$i.zip} {$i.city}<br/>{$i.address}<br/>{$i.phone} {$i.email}{literal}</span>'
});
{/literal}
{/foreach}
{literal}
{/literal}
{foreach from=$company->list.markers item=i key=k}
{literal}
var marker{/literal}{$k}{literal} = new google.maps.Marker({
position: new google.maps.LatLng({/literal}{$i.lat}{literal}, {/literal}{$i.lan}{literal}),
title: '{/literal}{$i.name}{literal}'
});
markers.push(marker{/literal}{$k}{literal});
google.maps.event.addListener(marker{/literal}{$k}{literal}, 'click', function() {
if (activeWindow != null)
activeWindow.close();
infoWindow{/literal}{$k}{literal}.open(map, marker{/literal}{$k}{literal});
//infoWindow{/literal}{$k}{literal}.open(map, marker{/literal}{$k}{literal});
activeWindow = infoWindow{/literal}{$k}{literal};
});
// Add the marker to the Fluste r
fluster.addMarker(marker{/literal}{$k}{literal});
{/literal}
{/foreach}
{literal}
fluster.styles = {
0: {
image: 'http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/images/m1.png',
textColor: '#FFFFFF',
width: 53,
height: 52,
},
10: {
image: 'http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/images/m2.png',
textColor: '#FFFFFF',
width: 56,
height: 55
},
20: {
image: 'http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/images/m3.png',
textColor: '#FFFFFF',
width: 66,
height: 65
}
};
fluster.initialize();
}
function showAddress(address, zoom) {
geocoder.geocode({'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(zoom);
} else {
alert("Geolokalizacja się nie udała, powód: " + status);
}
});
}
</script>
{/literal}