Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 Google Maps不正确的GeoJSON呈现_Javascript_Ajax_Google Maps_Geojson - Fatal编程技术网

Javascript Google Maps不正确的GeoJSON呈现

Javascript Google Maps不正确的GeoJSON呈现,javascript,ajax,google-maps,geojson,Javascript,Ajax,Google Maps,Geojson,我正在尝试使用GoogleMapsAPI在GoogleMaps上绘制GeoJSON行字符串 我将GeoJSON对象作为AJAX响应获取,并使用“map.data.addGeoJson(data)”函数在地图上加载GeoJSON响应 GPS纬度和长点都是从开放街道地图网站的.gpx文件中提取出来的,然后放入数据库。然后将它们编译成GeoJSON格式,然后发送到网站 各个点都在德国,但轨迹是在索马里附近绘制的 有人能帮我吗 包含AJAX请求的initMap函数如下所示: functio

我正在尝试使用GoogleMapsAPI在GoogleMaps上绘制GeoJSON行字符串

我将GeoJSON对象作为AJAX响应获取,并使用“map.data.addGeoJson(data)”函数在地图上加载GeoJSON响应

GPS纬度和长点都是从开放街道地图网站的.gpx文件中提取出来的,然后放入数据库。然后将它们编译成GeoJSON格式,然后发送到网站

各个点都在德国,但轨迹是在索马里附近绘制的

有人能帮我吗

包含AJAX请求的initMap函数如下所示:

       function initMap() {

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 12,
      center: {lat: 53.44620230866472, lng: 9.666813185187198},
      mapTypeId: google.maps.MapTypeId.TERRAIN,
    });


    $.ajax({
    url: 'http://ADDRESS TO SERVER/api/geodata/getLineString',
    data: {"usrid":3,"startd":"2016-04-17","endd":"2016-04-18"},
    type: 'POST',
    success: function (response) {
    map.data.addGeoJson(response);
        },
    error: function () {
        alert("error");
    },
});
  }
整个GeoJSON响应如下所示:

      {
  "type": "Feature",
  "geometry": {
    "type": "LineString",
    "coordinates": [
      [
        51.731921404763426,
        14.342405595236764
      ],
      [
        51.731914999999994,
        14.342412
      ],
      [
        51.73192399392278,
        14.342408729482642
      ],
      [
        51.73193,
        14.342416000000004
      ],
      [
        51.731934,
        14.342417000000001
      ],
      [
        51.73193,
        14.342411999999998
      ],
      [
        51.731926,
        14.342408
      ],
      [
        51.73192399392278,
        14.342408729482642
      ],
      [
        51.731921404763426,
        14.342405595236764
      ],
      [
        51.73199100000001,
        14.34214
      ],
      [
        51.73198299999999,
        14.342144
      ],
      [
        51.731987,
        14.342298000000001
      ],
      [
        51.731983,
        14.342302000000002
      ],
      [
        51.731983,
        14.342303999999999
      ],
      [
        51.73199100000001,
        14.342310000000001
      ],
      [
        51.731995000000005,
        14.342308
      ],
      [
        51.731998,
        14.342317
      ],
      [
        51.731999943503226,
        14.34232428813586
      ],
      [
        51.732002,
        14.342319000000002
      ],
      [
        51.732006000000005,
        14.342308000000003
      ],
      [
        51.732009999999995,
        14.342290999999996
      ],
      [
        51.73201799999999,
        14.342276
      ],
      [
        51.732025,
        14.342262999999999
      ],
      [
        51.732025,
        14.342252999999998
      ],
      [
        51.732032999999994,
        14.342243
      ],
      [
        51.732032999999994,
        14.342237000000003
      ],
      [
        51.73202500000001,
        14.342224000000002
      ],
      [
        51.73201799999999,
        14.342204999999996
      ],
      [
        51.73201,
        14.342184999999999
      ],
      [
        51.732002,
        14.342166
      ],
      [
        51.731995000000005,
        14.342153
      ],
      [
        51.731995000000005,
        14.342149000000001
      ],
      [
        51.73199100000001,
        14.34214
      ],
      [
        51.731976333334124,
        14.340528000002589
      ],
      [
        51.73196,
        14.340535
      ],
      [
        51.731934,
        14.340549
      ],
      [
        51.73190300000001,
        14.340559
      ],
      [
        51.731873,
        14.340569
      ],
      [
        51.731846000000004,
        14.340582
      ],
      [
        51.731815,
        14.340595
      ],
      [
        51.731789,
        14.340612000000002
      ],
      [
        51.731762,
        14.340625999999999
      ],
      [
        51.73173100000001,
        14.340643
      ],
      [
        51.731705,
        14.340658
      ],
      [
        51.731674,
        14.340673
      ],
      [
        51.731651,
        14.340681999999997
      ],
      [
        51.731621,
        14.340693
      ],
      [
        51.73160200000001,
        14.340705999999997
      ],
      [
        51.731586,
        14.340723
      ],
      [
        51.731567,
        14.340734000000003
      ],
      [
        51.731548,
        14.340740000000002
      ],
      [
        51.73153299999999,
        14.340748999999999
      ],
      [
        51.731514,
        14.340759
      ],
      [
        51.731495,
        14.340764000000002
      ],
      [
        51.731476,
        14.340768
      ],
      [
        51.731472,
        14.340768
      ],
      [
        51.731472,
        14.340765999999997
      ],
      [
        51.731468,
        14.340762
      ],
      [
        51.73146799999999,
        14.340772999999999
      ],
      [
        51.731468,
        14.340788
      ],
      [
        51.731472,
        14.340809
      ]
      ]
      },
  "properties": {
    "trajectoryid": "05BC2B9E-7350-4D55-B4BB-026EC0B2E65B",
    "color": "blue"
  }
  }

你把坐标倒过来了。GeoJSON是
[经度,纬度]
,而不是
[经度,纬度]

请参见文档中的:

一个位置由一个数字数组表示。必须至少有两个元素,而且可以更多。元素的顺序必须遵循x、y、z顺序(投影坐标参考系中坐标的东距、北距、海拔,或地理坐标参考系中坐标的经度、纬度、海拔。)

如果反转坐标,多段线将显示在德国

代码片段:

var映射;
var bounds=new google.maps.LatLngBounds();
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:12,
中心:{
拉脱维亚:53.44620230866472,
液化天然气:9.666813185187198
},
mapTypeId:google.maps.mapTypeId.TERRAIN,
});
//map.data.addGeoJson(geoJson);
addGeoJson(reverseData(geoJson));
}
google.maps.event.addDomListener(窗口“加载”,initMap);
函数反转数据(数据){
对于(变量i=0;i