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