• ArcGIS api for javascript——加入地图并显示当前地图范围


    描述

    这个示例使用Map.extent property属性接收地图范围的左下角和右上角坐标 "书签"。

    使用下列行创建地图:

    var map = new esri.Map("map");

    上面行中"Map"出现了三次。第一次(var map)是对象的名称,第二次 (esri.Map)是类的名称,第三次("map")是将包含地图的DIV的名称。

    这个示例加入一个ArcGISTiledMapServiceLayer到底图,表示一个 cachedArcGIS Server地图服务,但是也可以使用 ArcGISDynamicMapServiceLayer。这种方式接收的地图的范围是相同的。

    注意切片地图服务层的构造函数需要服务的REST端点的URL(http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer)。可以使用 Services Directory找到地图服务的URL。

    下行代码为地图的showExtent事件增加了一个事件监听器:

    dojo.connect(map, "onExtentChange", showExtent);

    这意味着如果地图的范围被修改,回调函数showExtent将被调用。showExtent函数构建一个包含地图的两个角的坐标的字符串。

    Lower left corner = (extent.xmin, extent.ymin)

    Upper right corner = (extent.xmax, extent.ymax)

    这两个角是需要知道用于地图的边界框的。showExtent函数的最后一行通过增加完整的字符串到'info' DIV在页面上显示坐标:

    dojo.byId("info").innerHTML = s;

     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>Create Map</title>
     8     <link rel="stylesheet" type="text/css" href="styles.css"
     9           href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css">
    10     <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6"></script>
    11     <script type="text/javascript">
    12         dojo.require("esri.map");
    13         function init(){
    14             var map = new esri.Map("map");//1对象名,2类名,3div的id名
    15             var tiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer(
    16                 "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"
    17             );
    18             map.addLayer(tiledMapServiceLayer);
    19             //添加一个事件监听器的地图onExtentChange事件,地图范围一旦改变,回调函数showExtent就被调用
    20             dojo.connect(map,"onExtentChange",showExtent);
    21         }
    22         //showExtent函数建立一个字符串,包含两个角落的地图坐标,这两个角来确定地图的边界矩形
    23         //Lower left corner = (extent.xmin, extent.ymin)
    24         //Upper right corner = (extent.xmax, extent.ymax)
    25         function showExtent(extent){
    26             var s = "";
    27             s = "XMin: "+ extent.xmin + "&nbsp;"
    28                    +"YMin: " + extent.ymin + "&nbsp;"
    29                    +"XMax: " + extent.xmax + "&nbsp;"
    30                    +"YMax: " + extent.ymax;
    31                    //showExtent函数的最后一行显示在页面上添加完成字符串的“info”DIV坐标
    32                dojo.byId("info").innerHTML = s;
    33         }
    34         dojo.addOnLoad(init);
    35     </script>
    36   </head>
    37   
    38   <body class="tundra">
    39     <div id="map" style="900px;height:600px;border:1px solid #000"></div>
    40     <div id="info" style="padding:5px;margin:5px;background-color:#eee;"></div>
    41     Creates a map and adds an ArcGISTiledMapServiceLayer.  On map onExtentChanged event you should see the extent printed below the map.<br />
    42     Map navigation using mouse:
    43     <ul>
    44       <li>Drag to pan</li>
    45       <li>SHIFT + Click to recenter</li>
    46       <li>SHIFT + Drag to zoom in</li>
    47       <li>SHIFT + CTRL + Drag to zoom out</li>
    48       <li>Mouse Scroll Forward to zoom in</li>
    49       <li>Mouse Scroll Backward to zoom out</li>
    50       <li>Use Arrow keys to pan</li>
    51       <li>+ key to zoom in a level</li>
    52       <li>- key to zoom out a level</li>
    53       <li>Double Click to Center and Zoom in</li>
    54     </ul>
    55   </body>
    56 </html>
  • 相关阅读:
    mysql practice
    image update to ubuntu18.04
    C++11 new feature
    bazel remote executor--- buildfarm( in docker)
    python3学习笔记13(数据结构)
    python3学习笔记12(变量作用域)
    python3学习笔记11(函数)
    jmeter 01 之beanshell preprocessor
    python3学习笔记10(迭代器和生成器)
    python3学习笔记十(循环语句)
  • 原文地址:https://www.cnblogs.com/xiaotian-222/p/6514434.html
Copyright © 2020-2023  润新知