首先来看看什么是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);
})
这样就可以取到坐标点了,如果想取到每一个坐标点。进行一次遍历就好了。