Co do usuwania markrów z tablicy, to mam juz opanowane. Męczę sie tylko nad ostatnią rzeczą:
<body onkeyup="createKeyHandler(event);"> <div id="map" style="width:100%; height:100%"></div>
<script type="text/javascript"> var nrmarker = 0;
var markersArray = new Array();
var mapa = new GMap2(document.getElementById('map'),{mapTypes: [G_NORMAL_MAP,G_HYBRID_MAP]});
mapa.setCenter(new GLatLng(51.91716758909015, 19.13818359375),6);
// dodanie podstawowych przycisków
mapa.addControl(new GLargeMapControl());
// dodanie wyboru trybu mapy
var typyMapy = mapa.getMapTypes();
typyMapy[0].getName= function() { return "Mapa";}
typyMapy[1].getName = function() { return "Satelita";}
mapa.addControl(new GMapTypeControl());
// dodanie minimapy
mapa.addControl(new GOverviewMapControl());
// zoom (podwójne kliknięcie i płynny)
mapa.enableDoubleClickZoom();
mapa.enableContinuousZoom();
mapa.enableScrollWheelZoom();
GEvent.addListener(mapa,'click',function(marker,punkt) {
if(marker)
{
alert(marker.id);
mapa.removeOverlay(marker);
delete markersArray[marker.id];
}
else if(punkt)
{
var marker = new GMarker(punkt,{draggable:false,clickable: false,map: mapa});
marker.id='a'+nrmarker;
markersArray[marker.id]=marker;
nrmarker = nrmarker + 1;
GEvent.addListener(marker, 'dragend', function() {
//alert(marker.getPoint().lat()+', '+marker.getPoint().lng());
});
mapa.addOverlay(marker);
//alert(marker.getPoint().lat()+', '+marker.getPoint().lng());
}
});
var i;
function createKeyHandler(e) {
var keyPress;
if (typeof event !== 'undefined') {
keyPress = event.keyCode;
}
else if (e) {
keyPress = e.which;
}
//alert(keyPress);
if (keyPress === 16) {
for (x in markersArray)
{
markersArray[x].setDraggable(true);
}
}
else if (keyPress === 17) {
for (x in markersArray)
{
markersArray[x].setDraggable(false);
}
}
return false; // Prevents the default action
};
wywala mi błąd: markersArray[x].setDraggable(false) is not a function
o co chodzi?