是否可以从对象而不是.csv或.geojson之类的文件中读取ArcGIS CSVLayer Source?

时间:2019-09-02 05:15:33

标签: arcgis arcgis-js-api

是否可以从对象而不是.csv或.geojson之类的文件中读取ArcGIS CSVLayer Source?

我的数据库中有关于某个对象的数据,包括纬度,经度和海拔。当我想在地图上显示这些对象时,现在我应该创建一个CSV文件或GeoJson文件。

有什么方法可以将这些数据提供给CSVLayer而不创建这些文件,而是直接从Object( JavaScript Array或Object

读取

1 个答案:

答案 0 :(得分:2)

最简单的方法是将JavaScript数组序列化为Blob对象,并将其URL传递给CSVLayer.url

var csvContent = [
  "time,latitude,longitude,depth,mag",
  "2019-06-28T11:17:31.734Z,8.4069,-82.8409,22.89,4.4",
  "2019-06-28T09:24:08.880Z,37.5128326,-118.7975006,6.01,2.8",
  "2019-06-28T08:30:42.866Z,-29.3884,-70.916,81.42,5"
].join("\n");

const blob = new Blob([csvContent], {type: "text/csv"});
const url  = URL.createObjectURL(blob);

var csvLayer = new CSVLayer({ url });

请参阅以下使用上述技术显示USGS地震数据的CodePen:https://codepen.io/arnofiva/pen/0ebf1e5fd85f36c09b6d87e15b7956b1