ArcGIS API for JavaScript3.x 学习笔记[8] 动态地图服务图层

在ArcGIS API 中给我们提供了一个类叫做ArcGISDynamicMapServiceLayer利用这个类,我们可以获得发布的地图服务。调用动态地图服务一般只需要两步:

  • 通过地图服务的URL创建一个ArcGISDynamicMapServiceLayer对象
  • 将动态地图服务的对象添加到地图容器中
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello World</title>
    <link rel="stylesheet" type="text/css" href="http://59.110.141.181/arcgis_js_api/library/3.17/3.17/dijit/themes/tundra/tundra.css" />
    <link rel="stylesheet" type="text/css" href="http://59.110.141.181/arcgis_js_api/library/3.17/3.17/esri/css/esri.css" />
    <script type="text/javascript" src="http://59.110.141.181/arcgis_js_api/library/3.17/3.17/init.js"></script>
    <script>
        require(["esri/map", "esri/layers/ArcGISDynamicMapServiceLayer",
                    "dojo/domReady!"],
                function (Map, ArcGISDynamicMapServiceLayer) {
                    var map = new Map("mapDiv");
                    //利用url创建一个动态地图服务对象
                    var layer = new ArcGISDynamicMapServiceLayer("http://59.110.141.181:6080/arcgis/rest/services/SampleWorldCities/MapServer");
                    //将地图服务对象添加到地图容器中
                    map.addLayer(layer);
                })
    </script>
</head>
<body class="tundra">
    <div id="mapDiv" style="width: 900px; height: 600px; border: 1px solid #000;"></div>
</body>
</html>

运行效果:

设置定义表达式

var layerDefinitions = [];
layerDefinitions[0] = "POPULATION > 5000000";
layerDefinitions[5] = "AREA > 100000";
dynamicMapServiceLayer.setLayerDefinitions(layerDefinitions);

设置可见图层

require([
  "esri/layers/ArcGISDynamicMapServiceLayer" ,"dojo/query", ...
], function(ArcGISDynamicMapServiceLayer, query, ... ) {
  var layer = new ArcGISDynamicMapServiceLayer( ... );
  var inputs = query(".list_item"), input;
  visible = [];
  for (var i=0, il=inputs.length; i< il; i++) {
    if (inputs[i].checked) {
      visible.push(inputs[i].id);
    }
  }
  layer.setVisibleLayers(visible);
  ...
});
时间: 2024-08-09 10:43:39

ArcGIS API for JavaScript3.x 学习笔记[8] 动态地图服务图层的相关文章

ArcGIS API for JavaScript3.x 学习笔记[4] 加载底图(三)【Open Street Map开放街道地图】

Open Street Map OpenStreetMap(简称OSM,中文是开放街道地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图. OSM是一款由网络大众共同打造的免费开源.可编辑的地图服务.OpenStreetMap它是利用公众集体的力量和无偿的贡献来改善地图相关的地理数据.OSM是非营利性的,它将数据回馈给社区重新用于其它的产品与服务.而其他地图则是将大多数的地图数据出售给第三方. OSM的地图由用户根据手提GPS装置.航空摄影照片.其他自由内容甚至单靠地

ArcGIS API for JavaScript3.x 学习笔记[3] 加载底图(一)【天地图(经纬度版)】

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>天地图底图加载(经纬度版本)</title> 6 <link rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css"> 7 <script

ArcGIS API for JavaScript3.x 学习笔记[5] 加载底图(四)【高德在线地图】

/** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_base/declare", "esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/layers/TileInfo", "esri/layers/TiledMapServiceLa

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

Map学习(arcgis api for javascript3.18)

arcgis中map对象是展示数据的组织入口. 在arcgis api for js中,使用esri/map 类来进行一个map对象的新建. api文档:https://developers.arcgis.com/javascript/3/jsapi/map-amd.html 1.简单的使用示例: require([ "esri/map", "dojo/domReady!" ], function ( Map){ var map = new Map("di

MQTT学习笔记——Yeelink MQTT服务 使用mqtt.js和paho-mqtt

0 前言 2014年8月yeelink推出基于MQTT协议的开关类型设备控制API,相比于基于HTTP RESTful的轮训方式,通过订阅相关主题消息,可以远程控制类应用实时性更好.本文使用两种方式实现开关类型设备的远程控制,一种是基于nodeJS的MQTT.js扩展库,另一种是基于python的paho-mqtt扩展库. [相关博文--MQTT] [MQTT学习笔记--MQTT协议体验 Mosquitto安装和使用] [MQTT学习笔记--树莓派MQTT客户端 使用Mosquitto和paho

Android(java)学习笔记227:服务(service)之服务的生命周期(service)

1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.接下来就简单概括性描述一下: (1)start的方式开启服务,服务会执行onCreate方法 (2)如果服务已经被创建,就不会再去执行onStartCommand()  (onStart过时) (3)停止服务,服务会执行onDestory(): (4)如果服务已经停止,多次调用stopService()无效的

Openshift API部分源码学习笔记(一)

Openshift API简介 Openshift API包含了两部分,一部分是Kubernetes v1 REST API,另一部分是OpenShift v1 REST API,这些RESTful API都是通过HTTP(s)来访问OpenShift Container Platform的master服务器来调用的.这些API可用于管理终端用户的应用程序,集群和集群用户. Openshift里面Kubernetes api的前缀是 /api,而OpenShift 自己开发了一些api,它们的前

Openshift API部分源码学习笔记(二)

前面一篇文章将openshift里面启动kubernetes组件部分解析了一下,本文将对openshift启动master服务的代码解析一下 上一篇文章链接:http://www.cnblogs.com/zard/p/7767112.html 源码分析 前面将kubernetes的API Server注册启动命令创建好了之后回到NewCommandStartAllInOne方法中,这次看下NewCommandStartMaster方法,此方法即为获取启动openshift master的命令 -