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));