zoukankan      html  css  js  c++  java
  • 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));
  • 相关阅读:
    maven编译时错误:无效的目标发行版
    参数传递方法(用Delphi的汇编代码解释)
    Playing with coroutines and Qt
    Qt的一些开发技巧
    刘晏:大唐经济战线的英雄
    Qt的焦点策略
    高级程序员与CTO技术总监首席架构师
    Python入门机器学习
    Service Mesh(服务网格)
    自定义博客园Markdown样式.超简单!
  • 原文地址:https://www.cnblogs.com/cannel/p/11077915.html
Copyright © 2011-2022 走看看