赞
踩
首先来看看什么是geojson文件。
就是这样的:
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 91.373291015625, 38.66835610151506 ], [ 89.769287109375, 37.76202988573211 ], [ 93.2958984375, 36.90597988519294 ], [ 94.163818359375, 37.90953361677018 ], [ 93.636474609375, 39.2407625100131 ], [ 91.373291015625, 38.66835610151506 ] ] ] } } ] }
这就是一个简单的geojson文件。如果我们做文件上传,需要取到其中的coordinates,也就是每一个坐标,怎么做呢:(仅展示核心代码)
//选择文件 $("#displayfile").change(function (that) { var val = $(this).val(); console.log($("input[type='file']")); if (val.split(".")[1] == 'json' || val.split(".")[1] == 'geojson') { $("#jiaInput").val($(this).val()) } else { alert("请选择geojson文件格式"); } var str = ""; var obj = document.getElementById("displayfile"); var length = obj.files.length; var reader = new FileReader();//新建一个FileReader reader.readAsText(obj.files[0], "UTF-8");//读取文件 reader.onload = function (evt) { //读取完文件之后会回来这里 var fileString = evt.target.result; // 读取文件内容 console.log(JSON.parse(fileString)) var fileJson = JSON.parse(fileString); console.log(fileJson.features[0].geometry.coordinates[0][0])//取到第一个json坐标点 } for (var i = 0; i < length; i++) { $(".FileArea").html("");; var temp = obj.files[i].name; str += "<div>" + temp + "</div>"; } $(".FileArea").append(str); })
这样就可以取到坐标点了,如果想取到每一个坐标点。进行一次遍历就好了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。