此示例检索的左下角和右上角的地图范围右下角的坐标,使用的Map.extent属性。寻找这样的地图的程度可能会更先进的东西,如平移地图到预定的“书签”,做有用的。
以下行创建的地图:
var map=new
esri.Map(“map”);
上述代码中出现3次"map"。 (var
map)是对象的名称,第二个(esri.Map)是类的名称,和第三(“map”)是其中将包含地图的div的名称。
此示例添加了一个ArcGISTiledMapServiceLayer到地图上,代表缓存的ArcGIS
Server地图服务,但你也可以使用ArcGISDynamicMapServiceLayer。您检索的方式,地图范围是相同的。
请注意,切片地图服务层的构造需要的服务的REST端点(http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer)URL。
以下行添加一个事件监听器的地图onExtentChange事件:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01//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>Create
Map</title>
<link
rel="stylesheet" type="text/css"
href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css">
<script
type="text/javascript"
src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6"></script>
<script
type="text/javascript">
dojo.require("esri.map");
function
init() {
var
map = new esri.Map("map");
var
tiledMapServiceLayer = new
esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
map.addLayer(tiledMapServiceLayer);
dojo.connect(map,
"onExtentChange", showExtent);
}
function
showExtent(extent) {
var
s = "";
s
= "XMin: "+ extent.xmin + " "
+"YMin: " + extent.ymin + " "
+"XMax: " + extent.xmax + " "
+"YMax: " + extent.ymax;
dojo.byId("info").innerHTML
= s;
}
dojo.addOnLoad(init);
</script>
</head>
<body
class="tundra">
<div
id="map" style="width:900px; height:600px; border:1px solid
#000;"></div>
<div
id="info" style="padding:5px; margin:5px;
background-color:#eee;"></div>
Creates
a map and adds an
ArcGISTiledMapServiceLayer. On
map onExtentChanged event you should see the extent printed below
the map.<br />
Map
navigation using mouse:
<ul>
<li>Drag
to pan</li>
<li>SHIFT
+ Click to recenter</li>
<li>SHIFT
+ Drag to zoom in</li>
<li>SHIFT
+ CTRL + Drag to zoom out</li>
<li>Mouse
Scroll Forward to zoom in</li>
<li>Mouse
Scroll Backward to zoom
out</li>
<li>Use
Arrow keys to pan</li>
<li>+
key to zoom in a level</li>
<li>-
key to zoom out a level</li>
<li>Double
Click to Center and Zoom
in</li>
|