Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中向json添加值?_Javascript_Php_Json_Draw_Mapbox Gl Js - Fatal编程技术网

如何在javascript中向json添加值?

如何在javascript中向json添加值?,javascript,php,json,draw,mapbox-gl-js,Javascript,Php,Json,Draw,Mapbox Gl Js,我正在为无人机航向创建地图,我正在使用mapbox gl js和draw,我能够创建航路点并获取坐标,但我尝试使用json创建多个航向,带有id航向、坐标等 有人能帮我吗?谢谢 此功能可帮助我创建课程: map.on('draw.modechange', function(e) { map.on('click', function(e) { if (draw.getMode() == 'draw_polygon') { lon = e.

我正在为无人机航向创建地图,我正在使用mapbox gl js和draw,我能够创建航路点并获取坐标,但我尝试使用json创建多个航向,带有id航向、坐标等

有人能帮我吗?谢谢

此功能可帮助我创建课程:

   map.on('draw.modechange', function(e) { 
    map.on('click', function(e) { 
        if (draw.getMode() == 'draw_polygon') {

            lon = e.lngLat.lng;
            lat = e.lngLat.lat;

            gps[nbPoints][0] = lon;
            gps[nbPoints][1] = lat; 

            nbPoints = nbPoints+1;

            console.log("Longitude : "+lon + " - " + "Latitude : "+lat);
        };
    });
});
我使用此功能将数据发送到我的服务器:

$("#vol").click(function(e)
    {   
        for (var i = 0 ; i < nbPoints; i++) {

            posLon = gps[i][0];  
            posLat = gps[i][1];

            lon = posLon;
            lat = posLat;           

      }

            const obj ={
                        "numero":"3",
                        "r_name":"parcours2",
                        "speed":"6",
                        "actionFinished":"home",
                        "coordinate":
                            {
                                "waypoint":[
                                            {
                                            "longitude":lon,
                                            "latitude":lat,
                                            "EnablePicture":"false",
                                            "PositionBatiment":"gauche",
                                            "altitude":"30"
                                            }
                                        ]
                                    }
                                }   

             const jsonString = JSON.stringify(obj);
             const xhr = new XMLHttpRequest();

             xhr.open("POST", "Api.php", true);
             xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
             xhr.send(jsonString); 

             console.log(jsonString);       

});
$(“#vol”)。单击(函数(e)
{   
对于(变量i=0;i
可能是这样的吧

$("#vol").click(function (e) {
  const obj = {
    "numero": "3",
    "r_name": "parcours2",
    "speed": "6",
    "actionFinished": "home",
    "coordinate":
    {
      "waypoint": []
    }
  }

  for (var i = 0; i < nbPoints; i++) {
    obj.coordinate.waypoint.push(
      {
        "longitude": gps[i][0],
        "latitude": gps[i][1],
        "EnablePicture": "false",
        "PositionBatiment": "gauche",
        "altitude": "30"
      }
    )

  }



  const jsonString = JSON.stringify(obj);
  const xhr = new XMLHttpRequest();

  xhr.open("POST", "Api.php", true);
  xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
  xhr.send(jsonString);

  console.log(jsonString);
});
$(“#vol”)。单击(函数(e){
常量对象={
“数字”:“3”,
“r_名称”:“地块2”,
“速度”:“6”,
“actionFinished”:“主页”,
“坐标”:
{
“航路点”:[]
}
}
对于(变量i=0;i

如果我理解了您要正确执行的操作

问题是什么?代码中的问题在哪里?在json中,我只能添加一个坐标(经度和纬度),但我正在尝试添加我的航路点的每个坐标。对不起,我的英语不好。您是否尝试过使用for循环中的对象执行
obj.coordinate.waypoint.push