Ciao a tutti, ho trovato uno script per evitare di non poter cliccare un marker nascosto da un altro nelle stesse precise coordinate.
Quello che non riesco a fare è integrare il codice con il mio, mi dareste una mano?
quà c'è lo script, guardate la sorgente: http://williams.edu/Economics/ArtsEc...intabsdemo.htm
qui invece posto il mio codice:
codice:
<script type="text/javascript" src="markercluster.js"></script>
<script type="text/javascript">
//<![CDATA[
var baseIcon;
var data = null;
var row_no = 0;
var map = null;
var mgr = null;
var markers = [];
var markerClusterer = null;
function initialize() {
if(GBrowserIsCompatible()) {
map = new GMap2(document.getElementById('map'));
map.setCenter(new GLatLng(1, -1), 2);
var mapui = map.getDefaultUI();
mapui.maptypes.physical = false;
map.setUI(mapui);
map.setMapType(G_HYBRID_MAP);
}
baseIcon = new GIcon(G_DEFAULT_ICON);
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
var helpString = '';
GDownloadUrl("geokml.php", function(data) {
var xml = GXml.parse(data);
var myMarkers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < myMarkers.length; i++) {
var name = myMarkers[i].getAttribute('name');
var address = myMarkers[i].getAttribute('address');
var link = myMarkers[i].getAttribute('link');
var cat = myMarkers[i].getAttribute("cat");
var point = new GLatLng(parseFloat(myMarkers[i].getAttribute('lat')),
parseFloat(myMarkers[i].getAttribute('lng')));
var marker = createMarker(point, name, address, link, cat);
markers.push(marker);
// var sidebar = document.getElementById('sidebar');
if (markers.length == 0) {
//sidebar.innerHTML = 'No results found.';
return;
}
// var sidebarEntry = createSidebarEntry(marker, name, address, link, cat);
//sidebar.appendChild(sidebarEntry);
}
var mcOptions = { gridSize: 50, maxZoom: 10 };
var markerCluster = new MarkerClusterer(map, markers, mcOptions);
map.getContainer().style.overflow="hidden";
});
function createMarker(point, name, address, link, cat) {
var marker = new GMarker(point, customIcons[cat]);
var html = '' + name + '
' + address;
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
}
function createSidebarEntry(marker, name, address, link, cat) {
var div = document.createElement('div');
var html = '' + name + '
' + address;
div.innerHTML = html;
div.style.cursor = 'pointer';
div.style.marginBottom = '5px';
GEvent.addDomListener(div, 'click', function() {
GEvent.trigger(marker, 'click');
});
GEvent.addDomListener(div, 'mouseover', function() {
div.style.backgroundColor = '#eee';
});
GEvent.addDomListener(div, 'mouseout', function() {
div.style.backgroundColor = '#fff';
});
return div;
}
//]]>
</script>