Merhahaba arkadaşlar,
Websocketten aldığım konum bilgisini "add_marker" fonksiyonu ile bastırıyorum.Fakat tek marker harita üzerinde belirmesi gerekirken ne kadar konum bilgisi geliyorsa o kadar marker oluşuyor.Bende bunun için markerı silip tekrar eklettiriyorum.Silik gösteriyor markerları çok sağlıklı çalışmıyor.Bir yerde hata yapıyorum fakat hala çözemedim.Yardımcı olursanız sevinirim.

var map;
var markers = new Array();
var descriptions = new Array();
var bounds = new google.maps.LatLngBounds();
var activeInfoWindow ;

function initialize() {
//harita
var mapOptions = {
zoom: 10,
center: new google.maps.LatLng(41.060579,29.061318),
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE
},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

//demo amaçlı ekledik
//add_marker(map, bounds, '1', '41.055428', '29.0074293', '<strong>ARAÇ:34 KLM 5678<br>ORTALAMA HIZ:30KM/H <br>TOPLAM KM:125Km<br>ORTALAMA TÜKETİM:0,12Lt/Km </strong>');
// add_marker(map, bounds, '2', '41.060579', '29.0613183', '<strong>ARAÇ:34 JH 1234<br>ORTALAMA HIZ:60KM/H <br>TOPLAM KM:105Km<br>ORTALAMA TÜKETİM:0,18Lt/Km </strong>');
//add_marker(map, bounds, '3', '41.0673942', '29.0727193', '<strong>ARAÇ:34 FBA 678<br>ORTALAMA HIZ:50KM/H <br>TOPLAM KM:25Km<br>ORTALAMA TÜKETİM:0,92Lt/Km </strong>');
//add_marker(map, bounds, '4', '41.0738426', '29.0341411', '<strong>ARAÇ:34 SB 7689<br>ORTALAMA HIZ:40KM/H <br>TOPLAM KM:187Km<br>ORTALAMA TÜKETİM:0,80Lt/Km </strong>');
// add_marker(map, bounds, '4', '41.0741149', '29.043968', '<strong>ARAÇ:34 KLM 5678<br>ORTALAMA HIZ:20KM/H <br>TOPLAM KM:98Km<br>ORTALAMA TÜKETİM:0,62Lt/Km </strong>');
}


function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
}


function setMapOnAll(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}


function clearMarkers() {
setMapOnAll(null);
}


function showMarkers() {
setMapOnAll(map);
}


function deleteMarkers() {
clearMarkers();
markers = [];
}

function add_marker(map, bounds, i, lat, lon, titolo){
var numero = parseInt(i);
var image = '/maps/marker-' + numero + '.png';
var position = new google.maps.LatLng(
lat, lon
);
var marker = new google.maps.Marker({
position: position,
map: map,
icon: image
});
markers.push(marker);
attachMessage(marker, titolo);
bounds.extend(position);
map.setCenter(position);
map.fitBounds(bounds);
markers[numero] = marker;
descriptions[numero] = titolo;
//alert(position);
}


function attachMessage(marker, description) {
var infoWnd = new google.maps.InfoWindow();


var infoWnd2 = new google.maps.InfoWindow();
var infowindow = new google.maps.InfoWindow({
content: description
});


google.maps.event.addListener(marker, 'mouseover', function() {


if(activeInfoWindow != null) activeInfoWindow.close();


infowindow.close();


infowindow.open(map, marker);


activeInfoWindow = new google.maps.InfoWindow();
});
google.maps.event.addListener(marker, 'mouseout', function() {
infowindow.close();
});


google.maps.event.addListener(marker, 'click', function() {


if(activeInfoWindow != null) activeInfoWindow.close();


infowindow.open(map, marker);


// Close "mouseover" infoWindow
infowindow.close();


activeInfoWindow = new google.maps.InfoWindow();
});
}
google.maps.event.addDomListener(window, 'load', initialize);
//websocket
var socket = io('127.0.0.1:3000/');

socket.emit("channelfixer", "demo");
socket.on('connect', function () {
socket.on('message', function (msg) {
var test = msg.split(";");


var my = parseFloat(test[2]); // konumları ayırdık
var my2 = parseFloat(test[3]);
clearMarkers(my,my2);  //önceki markerları silip hemen altta add_marker fonksiyonu ile ekliyorum
add_marker(map, bounds, '1', my, my2, '<strong>ARAÇ:34 KLM 5678<br>ORTALAMA HIZ:30KM/H <br>TOPLAM KM:125Km<br>ORTALAMA TÜKETİM:0,12Lt/Km </strong>');

});
});