2012-03-22 23 views
1

Я хочу получить данные с телефона (данные геолокации) и поместить их в объект JSON и отправить его по сети в базу данных, которая будет храниться. Я не уверен, как создать этот объект, и если он должен быть массивом объектов. Кроме того, как мне настроить объект для получения новой информации по мере ее обновления для отправки на сервер? Вот код, который у меня есть. Я использую eclipse, phonegap, javascript и JSON.Как создать объект JSON и массив объектов?

var JSONID = 0; 

    // Create a JSON Object Array 
    geoLocJSON(); 

    /* This is what I want my Object to look like. 
    [ 
     { 
     "id" : 0, 
     "geoLoc" : { 
         "Lat" : "", 
         "Long" : "" 
        }, 
     "direction" : { 
         "Alt" : "", 
         "Head" : "", 
         "Speed" : "" 
         }, 
     "Time" : "" 
     }; 
    ] 
    */ 

// onSuccess Geolocation 
    function onSuccess(position){ 
     // Testing for data 
     var element = document.getElementById('geolocation'); 
     element.innerHTML = 
     'Latitude: ' + position.coords.latitude + '<br />' + 
     'Longitude: ' + position.coords.longitude + '<br />' + 
     'Altitude: ' + position.coords.altitude + '<br />' + 
     'Heading: ' + position.coords.heading + '<br />' + 
     'Speed: ' + position.coords.speed + '<br />' + 
     'Timestamp: ' + new Date(position.timestamp) + '<br />' + 
     '<hr />' + element.innerHTML; 

     // Puts into JSON Object 
     geoLocJSON.id = JSONID; 
     geoLocJSON.geoLoc.Lat = position.coords.latitude; 
     geoLocJSON.geoLoc.Long = position.coords.longitude; 
     geoLocJSON.direction.Alt = position.coords.altitude; 
     geoLocJSON.direction.Head = position.coords.heading; 
     geoLocJSON.direction.Speed = position.coords.speed; 
     geoLocJSON.Time = new Date(position.timestamp); 

     // Increments the JSONID 
     JSONID++; 
    } 

Это будет затем отправляется на сервер через 1 минуту сбора данных и JSON объект будет удален КРОМЕ СТОЛБ не была неудачной, то объект будет храниться локально на устройство и размещены позже, когда сеть снова доступен.

Благодарим за помощь.

ответ

0
var JSONID = 0; 


// Create a JSON Object Array 
var geoLocJSON = new Array(); 

/* This is what I want my Object to look like. 
[ 
    { 
    "id" : 0, 
    "geoLoc" : { 
        "Lat" : "", 
        "Long" : "" 
       }, 
    "direction" : { 
        "Alt" : "", 
        "Head" : "", 
        "Speed" : "" 
        }, 
    "Time" : "" 
    }; 
] 
*/ 

// onSuccess Geolocation 
function onSuccess(position){ 
    // Testing for data 
    var element = document.getElementById('geolocation'); 
    element.innerHTML = 
    'Latitude: ' + position.coords.latitude + '<br />' + 
    'Longitude: ' + position.coords.longitude + '<br />' + 
    'Altitude: ' + position.coords.altitude + '<br />' + 
    'Heading: ' + position.coords.heading + '<br />' + 
    'Speed: ' + position.coords.speed + '<br />' + 
    'Timestamp: ' + new Date(position.timestamp) + '<br />' + 
    '<hr />' + element.innerHTML; 

    var myJSON = { 
     "id":JSONID, 
     "geoLoc":{ 
      "Lat":position.coords.latitude, 
      "Long":position.coords.longitude 
     }, 
     "direction":{ 
      "Alt":position.coords.altitude, 
      "Head":position.coords.heading, 
      "Speed":position.coords.speed 
     }, 
     "Time":new Date(position.timestamp 
    }; 

    // Increments the JSONID 
    JSONID++; 
    geoLocJSON.push(myJSON); 
} 
+1

Работал как очарование, спасибо! – jdelbs18

Смежные вопросы