arcgis jsapi接口入门系列(1):地图
地图相关
//地图相关demo mapFun: function () { //获取地图中心点 let center = this.mapView.center; //地图中心点坐标(同地图坐标系) let x = center.x; let y = center.y; //地图中心点坐标(经纬度坐标系) //PS:此经纬度坐标是地图自动投影转换而来,因为不一定准确(投影转换不一定准) let longitude = center.longitude; let latitude = center.latitude; //设置地图中心点 this.mapView.center = [113.5411, 22.2399]; //获取地图缩放级别 let zoom = this.mapView.zoom; //设置地图缩放级别 this.mapView.zoom = 12; //获取地图比例尺 let scale = this.mapView.scale; //设置地图比例尺 this.mapView.scale = 5000; //获取地图范围 let extent = this.mapView.extent; //地图范围坐标 let xmax = extent.xmax; let xmin = extent.xmin; let ymax = extent.ymax; let ymin = extent.ymin; //地图范围宽高(注意此宽高是地图单位,而不是屏幕像素) let width = extent.width; let height = extent.height; //设置地图范围 this.mapView.extent = new this.apiInstance.Extent({ xmin: -9177882, ymin: 4246761, xmax: -9176720, ymax: 4247967, spatialReference: { wkid: 102100 } }); //屏幕坐标转地图坐标 //PS:参数1类型是ScreenPoint let mapPoint1 = this.mapView.toMap(new this.apiInstance.ScreenPoint(10, 10)); //地图坐标转屏幕坐标 let screenPoint1 = this.mapView.toScreen(mapPoint1); },
地图点击事件,同时图形(graphic)点击在此实现
//mapView绑定点击事件 this.mapView.on("click", function (event) { this.mapView.hitTest(event).then(function (response) { //图形(graphic)点击事件的实现 if (response.results[0]) { //获取到点击的图形 var graphic = response.results[0].graphic; //由于所有图形都在此事件,实际需求可能需要判断图形是哪个图形,或者图形所在哪个图层,可以通过uid和图层id来判断 let uid = graphic.uid; //图层不一定有,例如在mapView的graphics下的就没有 if (graphic.layer) { let layerId = graphic.layer.id; } } }.bind(this)) }.bind(this));