Arcgis for Js之加载wms服务

概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务。

1、定义resourceInfo

                    var resourceInfo = {
                        extent: new Extent(-126.40869140625,31.025390625,-109.66552734375,41.5283203125,{wkid: 4326}),
                        layerInfos: [],
                        version : '1.1.1'
                    };

2、加载ArcgisServer的wms

                    var agsWmsUrl = "http://localhost:6080/arcgis/services/road/MapServer/WMSServer";
                    var agsWmsLayer = new WMSLayer(agsWmsUrl,{resourceInfo: resourceInfo});
                    agsWmsLayer.setImageFormat("png");
                    agsWmsLayer.setVisibleLayers([0]);
                    map.addLayer(agsWmsLayer);

3、加载GeoServer的wms

                    var geoWmsUrl = "http://200.200.200.220:8080/geoserver/wms";
                    var geoWmsLayer = new WMSLayer(geoWmsUrl,{resourceInfo: resourceInfo});
                    geoWmsLayer.setImageFormat("png");
                    geoWmsLayer.setVisibleLayers(["capital","pro"]);
                    map.addLayer(geoWmsLayer);

完整代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
    <title></title>
    <link rel="stylesheet" href="http://localhost/arcgis_js_api/library/3.9/3.9/js/esri/css/esri.css">
    <style type="text/css">
        html, body, #map {
            height: 100%;
            margin: 0;
            padding: 0;
            font-size: 62.5%;
            font-family:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
        }
    </style>
    <script src="http://localhost/arcgis_js_api/library/3.9/3.9/init.js"></script>
    <script type="text/javascript">
        var map;
        require([
            "esri/map",
            "esri/layers/WMSLayer",
            "esri/geometry/Point",
            "esri/geometry/Extent",
            "dojo/domReady!"],
                function(Map,
                     WMSLayer,
                     Point,
                     Extent)
                {
                    map = new Map("map",{logo:false});

                    var resourceInfo = {
                        extent: new Extent(-126.40869140625,31.025390625,-109.66552734375,41.5283203125,{wkid: 4326}),
                        layerInfos: [],
                        version : '1.1.1'
                    };

                    var agsWmsUrl = "http://localhost:6080/arcgis/services/road/MapServer/WMSServer";
                    var agsWmsLayer = new WMSLayer(agsWmsUrl,{resourceInfo: resourceInfo});
                    agsWmsLayer.setImageFormat("png");
                    agsWmsLayer.setVisibleLayers([0]);
                    map.addLayer(agsWmsLayer);

                    var geoWmsUrl = "http://200.200.200.220:8080/geoserver/wms";
                    var geoWmsLayer = new WMSLayer(geoWmsUrl,{resourceInfo: resourceInfo});
                    geoWmsLayer.setImageFormat("png");
                    geoWmsLayer.setVisibleLayers(["capital","pro"]);
                    map.addLayer(geoWmsLayer);

                    var mapCenter = new Point(103.847, 36.0473, map.spatialReference);
                    map.centerAndZoom(mapCenter,4);
                });
    </script>
</head>
<body>
<div id="map">
</div>
</body>
</html>

加载的效果:

如有疑问请联系:

QQ:1004740957

Email:[email protected]

请关注微信公众账号lzugis15,随时了解更多GIS动态信息。

时间: 2024-08-25 02:21:49

Arcgis for Js之加载wms服务的相关文章

(十九)ArcGIS JS 加载WMS服务(超图示例)

前言 在工作中,需要在ArcGIS API for JavaScript中加载超图服务,因为超图的rest服务只可以用于Leaflet .openlayers3 (with MVT) .MapboxGL .Tianditu.com,在使用ArcGIS API是无法加载超图的rest服务的(我认知的).    在超图的superMap iServer中可以发布符合OGC规则的WMS服务,这时,我们可以通ArcGIS API加载WMS服务的形式加载超图服务. 加载WMS服务要点 visibleLay

(二十)ArcGIS JS 加载WMTS服务(超图示例)

前言 在前一篇中说到我们可以通过加载WMS服务解决用ArcGIS API加载超图发布的服务,但是WMS服务在加载效率上是低于切片服务的,加上超图的IServer,无力吐槽,所以,在加载速度的要求下,切片的WMTS服务更符合要求. 加载WMTS服务的要点 identifier:图层标识tileMatrixSet:切片矩阵标识extent:加载范围spatialReference:控件参考version:WMTS服务版本号dpi:平铺方案的dpilods:定义切片方案的一系列细节层次. 实现效果 实

js资源加载优化

互联网应用或者访问量大的应用,对js的加载优化是不可少的.下面记录几种优化方法 CDN  + 浏览器缓存 CDN(content delivery network)内容分发网络, 最传统的优化方式.其实就是将自己页面所依赖的js(静态的)放置到CDN上,或者使用一些CDN库,以此降低对应用服务器的请求,而浏览器缓存也是不重复加载js文件的性质. 优点: 1.简单.容易维护 2.304 cache 简单来说就是转掉请求,缓存不重加载. 缺点: 1.缓存会失效,当用户强制刷新时会有请求 2.无法增量

再唠叨JS模块化加载之CommonJS、AMD、CMD、ES6

Javascript模块化编程,已经成为一个迫切的需求.理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. Javascript社区做了很多努力,在现有的运行环境中,实现"模块"的效果. CommonJS CommonJS定义的模块分为:  模块引用(require)    模块输出(exports)       模块标识(module) CommonJS Modules有1.0.1.1.1.1.1三个版本: Node.js.SproutCore实现了 Mo

前端性能优化 css和js的加载与执行

一个网站在浏览器端是如何进行渲染的? html本身首先会被渲染成 DOM 树,实际上 html 是最先通过网址请求过来的,请求过来之后,html 本身会由一个字节流转化成一个字符流,浏览器端拿的就是字符流,然后通过词法分析之后,将相应的语法分析成相应的 token ,比如说 header token, 转化不同的 token tag ,然后通过 token 类型 append 到 dom 树. 遇到 link token tag,然后去请求 css ,请求过来之后再去对 css 进行解析,生成

判断JS是否加载完成

在正常的加载过程中,js的加载都是同步的,也就是在加载过程中,浏览器会阻塞接下来的内容的加载.这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保证这个文件加载完成后,再执行下面的内容. 如何判断js是否加载完成?(实现loadScript(url,callback)异步加载脚本,完成后执行回调函数,要求支持IE) 我们使用document的readyState属性:document.readyState readyState 属性返回当前文档

ArcGIS API for Silverlight 加载google地图

原文:ArcGIS API for Silverlight 加载google地图 using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using Syst

解决ArcGIS API for Silverlight 加载地图的内外网访问问题

原文:解决ArcGIS API for Silverlight 加载地图的内外网访问问题 先上一个类,如下: public class BaseClass { public static string getFullUri(string oldUriString) { string newUriString = oldUriString; //处理相对地址============================================================ if (newUri

页面优化——js异步加载

同步加载 在介绍js异步加载之前,我们先来看看什么是js同步加载.我们平时最常使用的就是这种同步加载形式: <script src="http://XXX.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像).渲染.代码执行.一般的script标签(不带async等属性)加载时会阻塞浏览器,也就是说,浏览器在下载或执行该js代码块时,后面的标签不会被解析,例如在he