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));
arcgis jsapi接口入门系列(1):地图的更多相关文章
- arcgis jsapi接口入门系列(0):总览
开发环境: arcgis jsapi版本4.9 由于我们这套代码是基于vue,webpack开发的,会有少数vue代码,但总体不影响 里面还有些我们公司的js库和html css,给出的代码不能百分百 ...
- arcgis jsapi接口入门系列(2):图层基础操作
//图层相关demo layerFun: function () { //获取地图的所有图层(不包括的图层类型:底图图层(basemaps)) let layers = this.map.layers ...
- arcgis jsapi接口入门系列(5):几何(点线面)基本操作
点 point: function () { //通过wkt生成点 //wkt,代表点的坐标 let wkt = "POINT(113.566806 22.22445)"; //w ...
- arcgis jsapi接口入门系列(9):可以同时显示多个的地图popup
jsapi有提供popup功能,但缺点很多,例如地图上只能同时显示一个popup,popup内容有限制等 本文提供另一个方法,原理不用jsapi,在地图外用一个普通的div放在地图上面,再监听地图的鼠 ...
- arcgis jsapi接口入门系列(8):鼠标在地图画面
初始化,每个map执行一次 PS:画点也差不多,都是用SketchViewModel,因此本demo没有专门写画点的 drawPolygonInit: function () { //画几何对象初始化 ...
- arcgis jsapi接口入门系列(10):图形高亮
jsapi也有提供高亮的实现接口,但这里没用,而用的是一种改变图形(graphic)样式的思路 本文实现效果是:地图有多个面图形,当鼠标移动到面的上方,面高亮显示,鼠标移出后高亮解除 初始化 //高亮 ...
- arcgis jsapi接口入门系列(3):各种类型的图层添加
这里说的tomcat切片,是指arcgis server切片后,把切片图片文件用tomcat发布(其他任意web服务器发布都行) //添加tomcat切片图层 addTomcatTileLayer: ...
- arcgis jsapi接口入门系列(4):用代码在地图画点线面
PS:用代码画点这样写是为了跟后面的用鼠标画点线面区分出来 画点 drawPointGraphic: function () { //点有多种样式:一般的点,显示文字,显示图片 //一般的点 let ...
- arcgis jsapi接口入门系列(7):鼠标在地图画线
初始化,每个map执行一次就行 drawPolylineInit: function () { //画几何对象初始化 //新建一个图形图层用于存放画图过程中的图形 let layer = new th ...
随机推荐
- IO多路复用模型之epoll实现机制
设想一下如下场景:有100万个客户端同时与一个服务器进程保持着TCP连接.而每一时刻,通常只有几百上千个TCP连接是活跃的(事实上大部分场景都是这种情况).如何实现这样的高并发? 在select/po ...
- JNI——C调用JAVA
步骤: 1. 创建虚拟机 2. 获得class 3. 实例化对象:获得构造方法(方法名为“<init>”),构造参数,调用方法 4. 调用方法:又分为获得方法,构造方法,调用方法 操作方法 ...
- Bayesian 网络分类算法
1:贝叶斯网络的定义和性质 一个贝叶斯网络定义包括一个有向无环图(DAG)和一个条件概率表集合.DAG中每一个节点表示一个随机变量,可以是可直接观测变量或隐藏变量,而有向边表示随机变量间的条件依赖:条 ...
- UVa 10755 Garbage Heap (暴力+前缀和)
题意:有个长方体由A*B*C组成,每个废料都有一个价值,要选一个子长方体,使得价值最大. 析:我们暴力枚举上下左右边界,然后用前缀和来快速得到另一个,然后就能得到长方体,每次维护一个最小值,然后差就是 ...
- Docker管理应用数据
1. Manage data in Docker 默认情况下,所有在容器内部创建的文件被存储在一个可写的容器层.这就意味着: 当容器不存在的时候,数据不能被持久化,而且在容器外部想要读取这些数据十分 ...
- HDU - 1019 - Least Common Multiple - 质因数分解
http://acm.hdu.edu.cn/showproblem.php?pid=1019 LCM即各数各质因数的最大值,搞个map乱弄一下就可以了. #include<bits/stdc++ ...
- 关于`babel-loader`和`babel-core`版本兼容性问题
1. 安装babel-loader和babel-core出现问题 1.1 安装babel的转换工具包: npm i babel-core babel-loader babel-plugin-trans ...
- LCT 动态树 模板
洛谷:P3690 [模板]Link Cut Tree (动态树) /*诸多细节,不注意就会调死去! 见注释.*/ #include<cstdio> #include<iostream ...
- [Xcode 实际操作]三、视图控制器-(1)使用UIScrollView展示多个视图可控制器
目录:[Swift]Xcode实际操作 本文将演示使用滚动视图创建多个页面. [Create a new Xcode project]->[Single View App]->[Next] ...
- [Xcode 实际操作]八、网络与多线程-(3)使用UIApplication对象拨打电话
目录:[Swift]Xcode实际操作 本文将演示如何使用应用程序单例对象,拨打电话的功能. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 注:需要使用真机进行测 ...