Примера данных в формате JSON (с комментариев):Почему маркеры не двигаться correcly на карте
[{"id":"280","id_vehicle":"VL0847810531","lat":"30.0761","longi":"1.01981","speed":"144","time":"2014-12-03 12:07:23"},{"id":"202","id_vehicle":"VL0645210631","lat":"34.7344","longi":"7.32019","speed":"78","time":"2014-12-03 11:55:44"}]
function updateLocations(jsonData)
{
for (i=0 ;i< jsonData.length; i++) //for all vehicles
{
var id_vehicle = jsonData[i]["id_vehicle"];
var lat = jsonData[i]["lat"];
var lng = jsonData[i]["longi"];
var speed = jsonData[i]["speed"];
var str_time = jsonData[i]["time"];
/************************update list*******************************/
var state_icon, marker_icon, state;
var time = moment(str_time);
var last_10_Min = moment().subtract({minutes: 60 + 10});
if(time.isBefore(last_10_Min)) //if before 10 last minutes
{
state_icon = INACTIVE_IMG;
marker_icon = INACTIVE_VEHICLE;
state = "INACTIVE";
}
else //if befor
{
if(jsonData[i]["speed"] > 10) //if > 2 km/h then running
{
state_icon = RUN_IMG;
marker_icon = RUN_VEHICLE;
state = "RUN";
}
else
{
state_icon = STOP_IMG;
marker_icon = STOP_VEHICLE;
state = "STOP";
}
}
$("#state_img_"+id_vehicle).attr("src", state_icon);
$("#state_img_"+id_vehicle).attr('state',state);
$("#select_"+id_vehicle).attr("disabled" , false); // enable selection
/************************update location info*******************************/
var locationInfo = new Array();
img = "<img src=" + state_icon + " width='16' height='16' >";
locationInfo.push("Etat : " + state + " " + img + "<br>");
locationInfo.push("Latitude : " + lat + "<br>");
locationInfo.push("Longitude : " + lng + "<br>");
locationInfo.push("Vitess: " + speed + " klm/h<br>");
locationInfo.push("Temps : " + str_time + "<br>");
$("#info_location_" +id_vehicle).html(locationInfo.join(""));
/*****************update vehicles on map *************/
try {
cBox = $("#select_"+id_vehicle);
if(cBox.is(':checked')) //update selected only
{
//get marker index
var id_map = cBox.attr("id_map");
//change title
title = "Latitude: "+ lat + "\nLongitude: " + lng + "\nSpeed: " + speed + "\nTime: " + str_time;
arrayMarker[id_map].setTitle(title); //update title
arrayMarker[id_map].setIcon(marker_icon);
//move marker
arrayMarker[id_map].setPosition(new google.maps.LatLng(parseFloat(lat),parseFloat(lng)));
}
}catch(error){};
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
мой вопросом, почему при й этой функции выполняется (обновление местоположений) только Fisrt автомобиль на карте перемещается правильно, обновляются ораторы (название, значок ...), но не двигаются?
Я заметил, что они быстро двигаются и возвращаются в свое прежнее местоположение.
Спасибо за любое предложение.
Не могли бы вы представить пример данных JSON? Всего 2 из 3-х мест –
[{"id": "280", "id_vehicle": "VL0847810531", "lat": "30.0761", "longi": "1.01981", "speed": "144", "time ":" 2014-12-03 12:07:23 "}, {" id ":" 202 "," id_vehicle ":" VL0645210631 "," lat ":" 34.7344 "," longi ":" 7.32019 "," скорость ":" 78 "," время ":" 2014-12-03 11:55:44 "}] –
Пожалуйста, не публикуйте код в комментариях, обновите свой вопрос с соответствующей информацией. На этот раз я сделал это для вас. – geocodezip