arcgis api for js 3.X版本加載矢量json文件,並縮放至圖層


esriLoader.loadModules(
    [
      'esri/tasks/FeatureSet',
      'esri/layers/FeatureLayer',
      'esri/geometry/Point',
      'esri/geometry/Polygon',
      'esri/geometry/Extent',
      'esri/dijit/PopupTemplate',
      'esri/dijit/LayerSwipe'
    ], options).then(
    ([FeatureSet, FeatureLayer, Point, Polygon, Extent, PopupTemplate, LayerSwipe]) => {
    
    //json地址
const jsonUrl = 'http://Json/' + vectorInfo.label + '.json' axios.get(jsonUrl, { headers: {}, emulateJSON: true }).then((res) => { const layerJson = res.data const layerDefinition = { 'geometryType': layerJson.geometryType, 'fields': layerJson.fields } var featureSet = new FeatureSet(layerJson) var featureCollection = { 'layerDefinition': layerDefinition, 'featureSet': featureSet }

    //json轉成
FeatureLayer
    var jsonFeaturelayer = new FeatureLayer(featureCollection) jsonFeaturelayer.id = vectorInfo.vectorId.toString() + '_vector'     
    
    //加進圖層 self.map.addLayer(jsonFeaturelayer)     
    
    //方法一,獲取第一個點
var point = new Point(jsonFeaturelayer._graphicsVal[0]._extent.xmin, jsonFeaturelayer._graphicsVal[0]._extent.ymin) self.map.centerAndZoom(point, 8)       
      //方法二,所有要素的范圍合並
// var mapExtent = new Extent() // for (let i = 0; i < jsonFeaturelayer._graphicsVal.length; i++) { // var thisExtent = jsonFeaturelayer._graphicsVal[i].geometry.getExtent() // // 創建范圍或先前要素與當前要素的並集 // mapExtent = mapExtent.union(thisExtent) // } // self.map.setExtent(mapExtent) // _extent: {xmin: 119.11746198217094, ymin: 36.89781328847772, xmax: 119.2113266911379, ymax: 36.93355761143819, // self.map.center = [jsonFeaturelayer._graphicsVal[0]._extent.xmin, jsonFeaturelayer._graphicsVal[0]._extent.ymin] // var sGeometry = jsonFeaturelayer.fullExtent // var sGeometry = jsonFeaturelayer._graphicsVal[0]._extent // var ftGeoExt = sGeometry.getExtent() // self.map.setExtent(sGeometry) }) } ).catch(err => { console.error(err) })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM