• ArcGIS api for javascript——加载图标


    描述

    这个示例展示了如何能用一个动画图片显示地图正在加载。在这个示例中,图片是一个小的动画GIF。当地图第一次加载或用户缩放和平移地图时显示图片。当所有图层加载完成图片消失。

    这个示例是通过events驱动的。地图的onLoad, onZoomStart和onPanStart事件加载图片显示。图层的onUpdate事件删除图标。

    图片路径在HTML body里面引用。可以使用命名空间方法esri.showesri.hide来开关图片的可见性。该例使用一个计数器变量layersLoaded在隐藏图片前确认所有图层被加载。图片隐藏以后,计数器设回0.

    本例的所有逻辑在init函数里,除了全局变量。

     1  <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
     2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">
     3 <html>
     4   <head>
     5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     6     <meta http-equiv="X-UA-Compatible" content="IE=7" />
     7     <title>Map Loading Image.</title>
     8    
     9     <link rel="stylesheet" type="text/css" href="styles.css"
    10           href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css">
    11     <link rel="stylesheet" type="text/css" href="styles.css"
    12           href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/soria/soria.css">      
    13     <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6"></script>
    14     <style type="text/css">
    15         #pic{
    16             max-width:100px;
    17             max-height:100px;
    18         }
    19         .infowindow .window .top .right .user .titlebar .title{
    20             font-family: Arial,Helvetica,sans-serif;
    21             font-weight: bold;
    22             font-size: 14pt;
    23         }
    24         .infowindow .window .top .right .user.content{
    25             font-style: italic;
    26             font-size: 10pt;
    27         }
    28     
    29     </style>
    30     
    31     <script type="text/javascript">
    32         dojo.require("esri.map");
    33         var map;
    34         function init(){
    35             //esri.config.defaults.io.proxyUrl="/proxy/proxy.ashx";
    36             var layersLoaded=0;
    37             var loading=dojo.byId("loadingImg");
    38          
    39             
    40         map=new esri.Map("map");
    41         dojo.connect(map,"onLoad",showLoading);
    42         dojo.connect(map,"onZoomStart",showLoading);//用户开始缩放时触发事件。
    43         dojo.connect(map,"onPanStart",showLoading);//用户开始移动时触发事件。
    44         
    45           var tiledMapServiceLayer=new esri.layers.ArcGISTiledMapServiceLayer(
    46             "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer"
    47         );
    48         map.addLayer(tiledMapServiceLayer);        
    49     
    50         dojo.connect(tiledMapServiceLayer,"onUpdate",hideLoading);
    51         
    52         function showLoading(){
    53             esri.show(loading);//显示图片
    54             map.disableMapNavigation();//除了滑动条和移动箭头,不允许其它所有地图导航。
    55             map.hideZoomSlider();//隐藏地图缩放滚动条。
    56         }
    57         
    58         function hideLoading(){
    59             layersLoaded++;
    60             if(layersLoaded==map.layerIds.length){
    61                 esri.hide(loading);//隐藏图片
    62                 map.enableMapNavigation();//允许所有地图导航
    63                 map.showZoomSlider();//显示地图缩放滚动条
    64                 layersLoaded=0;
    65             
    66             }
    67         }
    68         }
    69         
    70         dojo.addOnLoad(init);
    71     </script>
    72   </head>
    73   
    74   <body class="tundra">
    75       <table>
    76           <tr>
    77               <td>
    78                  <div  id="map" class="soria" style="position:relative;900px;height:600px;border:1px solid #000">
    79                      <span id="scale" style="position:absolute;right:10px;bottom:10px;z-index:100;color:white"></span>
    80                  </div>
    81               </td>
    82               <td valign="top">
    83               
    84                 <div><img id="loadingImg" src="images/dtdq.gif" style="right:512px;top:256px;z-index:100;"/></div>
    85               </td>
    86           </tr>
    87       </table>
    88       <div id="info1" style="padding:5px; margin:5px;background-color: #eee;"  ></div>
    89   </body>
    90 </html>
    91  
    92  
    93  
  • 相关阅读:
    【团队作业冲刺'十日谈'】第七天——端侧部署6、记录保存
    团队冲刺第六天端侧部署5,模型下载功能2
    团队冲刺第五天端侧部署4,模型下载
    冲刺第四天 端侧部署3,登陆页面2
    冲刺第三天 端侧部署2,登录功能
    冲刺第二天模型训练2+端侧部署
    每日总结4.27
    每日总结4.26
    Jenkins基于https的k8s配置
    快速搭建私有gitlab
  • 原文地址:https://www.cnblogs.com/xiaotian-222/p/6514670.html
Copyright © 2020-2023  润新知