ArcGIS api for javascript——设置可见的比例
描述
ArcGIS JavaScript API的1.2版本加入更多地图如何缓存,切片和地图服务的控制。本例展示了如何限制地图能够接收切片的比例等级。如果不想用户过分的放大或缩小,即使切片存在这些极端的比例,这个方法是有用处的。
本例使用ArcGIS Online上的一个影像图层。这个服务有16等级可以使用,但是应用被设置为仅仅使用相近的8个等级。因为应用系统重点是一个国家公园,用户不需要放大太多。
在本例中,细节的等级通过lods[]数组配置,lods[]数组包含每个级别的索引数信息,分辨率和比例。如何轻松地接收所有的信息呢?最好的方式是转到服务的Services Directory页面,然后添加?f=pjson到URL。下面是一个示例:
http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer?f=pjson
能够从这里拷贝需要的详情等级。一旦配置了数组,能够在构造函数里设置地图的lods。仅仅能在创建地图的时间设置详情等级。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>ArcGIS Online tiled maps.</title> <link rel="stylesheet" type="text/css" href="styles.css"
href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css">
<link rel="stylesheet" type="text/css" href="styles.css"
href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/soria/soria.css">
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6"></script> <script type="text/javascript">
dojo.require("esri.map");
var map;
function init(){ //在这个示例中,我剔除ESRI_Imagery_World_2D的9到16级之间的地图服务,一旦创建了映射id将被重新设置水平(1-8)
var lods = [
{"level" : 9, "resolution" : 0.001373291015625, "scale" : 577143.747208662},
{"level" : 10, "resolution" : 0.0006866455078125, "scale" : 288571.873604331},
{"level" : 11, "resolution" : 0.00034332275390625, "scale" : 144285.936802165},
{"level" : 12, "resolution" : 0.000171661376953125, "scale" : 72142.9684010827},
{"level" : 13, "resolution" : 8.58306884765629E-05, "scale" : 36071.4842005414},
{"level" : 14, "resolution" : 4.29153442382814E-05, "scale" : 18035.7421002707},
{"level" : 15, "resolution" : 2.14576721191407E-05, "scale" : 9017.87105013534},
{"level" : 16, "resolution" : 1.07288360595703E-05, "scale" : 4508.93552506767}
]; map=new esri.Map("map",{
extent:new esri.geometry.Extent({xmin:110,ymin:31,xmax:117,ymax:37,spatialReference:{wkid:4326}})
,lods:lods
}); dojo.connect(map,"onExtentChange",function(extent,delta,outLevelChange,outLod){
dojo.byId("scale").innerHTML="LOD Level:<i>"+outLod.level
+"</i>Resolution:<i>"+outLod.resolution
+"</i>Scale:<i>"+outLod.scale+"</i>;" }); var tiledMapServiceLayer=new esri.layers.ArcGISTiledMapServiceLayer(
"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer"
);
map.addLayer(tiledMapServiceLayer); /*加载不了图片*/
var heNanDynamicMapServiceLayer=new esri.layers.ArcGISDynamicMapServiceLayer(
"http://118.144.36.6:6080/arcgis/rest/services/chakan/henan530/MapServer"
);
heNanDynamicMapServiceLayer.setOpacity(0.75);
map.addLayer(heNanDynamicMapServiceLayer); } dojo.addOnLoad(init);
</script>
</head> <body class="tundra">
<table>
<tr>
<td>
<div id="map" class="soria" style="position:relative;width:900px;height:600px;border:1px solid #000">
<span id="scale" style="position:absolute;right:10px;bottom:10px;z-index:100;color:white"></span>
</div>
</td> </tr>
</table>
</body>
</html>
ArcGIS api for javascript——设置可见的比例的更多相关文章
- ArcGIS api for javascript——设置自定义范围和空间参考
描述 这个示例展示了在创建地图时如果定义一个自定义的范围和空间参考. 在 ArcGIS JavaScript API的1.0和1.1版本,任何要使用的地图服务图层都需要和地图的空间参考一致.1.2版本 ...
- ArcGIS API for Javascript 使用缓冲区结果做query查询出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误
1.前言 在研究ArcGIS API for JavaScript时会遇到这样的问题,比如我们在做缓冲区分析时,用分析的范围作为空间查询query的参数,在执行结果中总是会看到“esri.config ...
- ArcGIS api for javascript——加载查询结果,悬停显示信息窗口
转自原文 ArcGIS api for javascript——加载查询结果,悬停显示信息窗口 描述 本例在开始和地图交互前执行一个查询任务并加在查询结果.这允许用户鼠标悬停在任意郡县时立即见到Inf ...
- ArcGIS API For JavaScript 开发(二)基础地图
有了开发环境,接下来的就是实践了,实践是检验真理的唯一标准! 多多练习,不要觉得自己能够想的出来就万事大吉了,还是得动手做才是最好的检验自己的能力. 基础地图,本节将通过arcgis api for ...
- ArcGIS.Server.9.3和ArcGIS API for JavaScript地图实现Toorbar功能(四)
转自:http://www.cnblogs.com/hll2008/archive/2008/11/22/1338630.html 目的:1.ArcGIS API for JavaScript实现To ...
- ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译
内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2 [Get Started] 类似于绪论一样的东西,抽取了最需要关注的几个例子.如:加载Map和View, ...
- 【1】ArcGIS API for JavaScript 4.5/4.6 本地部署
惭愧,和我的学弟比起来,我所开始接触前端开发,ArcGIS API for JavaScript的时间和深度远远不及于他. 一年之尾,亦是一年之始,我也将正式开始我的博客生涯.本人在校学习并且做项目, ...
- ArcGIS API for JavaScript 中的数据类型【vs】GPServer的数据类型
熟悉GPServer的同学肯定知道,GPServer在10.1的ArcMap后需要执行成功一次才能发布. 发布GPServer,可以是ArcMap的工具箱的工具,也可以是自己写的模型. 不管是ArcM ...
- ArcGIS API for JavaScript 4.x 本地部署之跨域问题解决法:CORS
众所周知,在离线部署ArcGIS API for JavaScript时,有时候会产生微件上的字体.符号变成方框的问题.这是遇到了跨域,只需要对所在服务器进行配置即可. 本篇使用的环境是:API配置在 ...
随机推荐
- POJ 3264 Balanced Lineup【线段树】
题意:给出n个数,a1,a2,a3,---,an,再给出q次询问区间al到ar之间的最大值和最小值的差 学习线段树的第一道题目 学习的这一篇 http://www.cnblogs.com/kuangb ...
- HDU 1010 Tempter of the Bone【DFS】
学习剪枝的第一篇@_@学习别人的剪枝,一剪就是两天@_@---- 参看的这篇--http://blog.csdn.net/libin56842/article/details/8962512自己的小体 ...
- oracle11g文件系统库迁移到ASM库上面
最近把oracle11g的文件系统库迁移到了asm库上面. 迁移过程大致如下: 最少停机方案: 实例joinpay02 | |数据库joinpay02 需要改动的文件: 数据文件 控制文件 redo文 ...
- Mint-UI 没有样式?
如果用mint-ui组件,如toast没有样式,是因为没有映入全局样式和导入MintUI 方法如下: 1.安装 npm install mint-ui -S -S表示 --save 2.在main.j ...
- python编写登录与注册
#编写简单的注册与登陆模块 #使用死循环来检测 while True: #如果条件为真,则一直循环 sum=3 #定义密码输入的次数 username = input("请输入用户名:&qu ...
- 微信小程序 上传图的功能
首先选择图片,然后循环,再就是在点击发布的时候循环图片地址赋值,包括删除命令 js代码: //选择图片 uploadImgAdd: function(e) { var imgs = this.data ...
- 紫书 习题8-4 UVa 11491 (贪心)
题意:给你一个数, 要求删去一些数字, 使得剩下的数字最大. 这道题用贪心解决. 大家想一想, 两个数比较大小, 肯定先比较第一位的数,然后依次比较第二位,以此类推. 既然我们要保证最后的数字最大, ...
- [SDOI2008]郁闷的小J(分块)
[SDOI2008]郁闷的小J 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危 ...
- js 函数基础(方便复习使用)
// 函数声明: function bbq(){ // ..... } // 函数表达式: // 1.命名函数表达式 var test = function abc(){ document.write ...
- Docker学习总结(10)——10分钟玩转Docker
1.前言 进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服务,现在Docker是十分火爆,那么Docker到底是什麽,让我们来体验一下. 2.Docker是什麽 Docker是 ...