http://help.arcgis.com/en/webapi/javascript/arcgis/help/jssamples_start.htm#jssamples/widget_legendvisible.html

类: Map

描述

esri.Map类创建一个容器和为增加图层,图形,信息窗口和其它导航控件所必需的DOM结构。

地图通常使用DIV添加到页面。地图的宽度和高度被初始化为DIV容器的宽度和高度。

第一个图层添加到地图后,Map.onLoad事件被触发。此时,map对象的功能可以完全使用了。Map.onLoad的处理函数应该可以用来添加地图内容,改变地图行为了。

对于使用地图类的介绍,见添加地图.

类层次结构

esri.Map

构造函数

构造函数 描述

esri.Map(divId, options?) 在给定的HTML容器中创建地图,HTML容器通常是DIV。地图大小和容器大小一致。Map对象的构造方法可以包含可选参数,可选参数的顺序是任意的。

属性表

属性 类型 描述

extent Extent 地图的当前范围。该属性是只读的。

graphics GraphicsLayer 从GraphicsLayer中增加删除图形。

graphicsLayerIds String[] 地图里当前GraphicsLayers的数组。

height Number 地图的当前高度,高度单位是屏幕像数

id String 地图位于页面的HTML DIV或其他元素的引用。该属性在地图构造函数里设置。

infoWindow InfoWindow 在地图上显示信息窗口

isClickRecenter Boolean 当属性为true,按shift+click键重定义地图中心点。

isDoubleClickZoom Boolean 当属性为true,双击放大地图可用,允许用户使用鼠标双击放大和重定义地图中心点。

isKeyboardNavigation Boolean 当属性为true,键盘导航可用。该属性允许用户用箭头键移动地图,用+和-键缩放地图。

isPan Boolean 当属性为true,可以使用鼠标移动地图。

isPanArrows Boolean 当属性为true,在地图边缘显示移动箭头。

isRubberBandZoom Boolean 当属性为true,伸缩线可用。允许用户使用鼠标画一个边界框缩放区域。

isScrollWheelZoom Boolean 当属性为true,可用鼠标滚动缩放地图

isShiftDoubleClickZoom Boolean 当属性为true,可用shift键+双击鼠标放大地图。这允许用户使用shift + 鼠标双击去放大和重定向地图中心。

isZoomSlider Boolean 当属性为true,地图上显示缩放滑动条。

layerIds String[] 加到地图里的当前TiledMapServiceLayers和DynamicMapServiceLayers的数组

loaded Boolean 第一个图层被加载后,属性值被设置为true

position Point 该屏幕坐标的点几何体代表地图容器的左上角。这个坐标也担当了地图和GraphicsLayer事件返回的所有屏幕坐标的原点。

spatialReference SpatialReference 地图的空间参考。支持的空间参考列表,见投影坐标系统和地理坐标系统。

width Number 地图当前宽度,宽度单位是屏幕像数。

方法表

地图功能:

方法 返回值 描述

addLayer(layer, ind

ex?) Layer 增加ESRI图层到地图。

v1.4增加了返回Layer对象

getInfoWindowAnchor(screenCoords) String 设置调用InfoWindow.show方法时信息窗口的定位点。

getLayer(id) Layer 返回地图一个单独的图层。

getLevel() Number 获得当前地图的级别ID。仅仅ArcGISTiledMapService有效。

removeAllLayers() none 从地图上删除所有图层。

当图层被删除是,已定义的地图范围,空间参考,切片模式不会修改。当下一个图层被加到地图,图层以相同的范围和空间参考显示。

removeLayer(layer) none 删除地图的指定图层。

reorderLayer(layer, index) none 修改地图里图层顺序。

reposition() none 在页面上重新放置地图DIV。当地图已经被重新放置后需要使用这个方法。

resize() none 调整地图DIV。当重新调整map DIV大小后这个方法要被使用。

setExtent(extent, fit?) none 设置地图范围。范围必需参照和地图一样的空间参考

setLevel(level) none 设置地图到指定级别ID。基于当前地图中心点缩放到新的级别。仅仅对ArcGISTiledMapService图层有效。

setMapCursor(cursor) none 设置地图默认鼠标形状。除了拖拽地图进行移动或使用SHIFT+拖拽放大地图时外,鼠标位于地图上时该指针总被显示。如果没有设置,地图使用系统默认指针,通常使用箭头。

toMap(screenPoint) Point 转换单个屏幕点坐标或屏幕点坐标数组为地图坐标。

toScreen(mapPoint) Point 转换单个地图点坐标或地图点坐标的数组为屏幕坐标。

地图导航:

方法 返回值 描述

centerAndZoom(mapPoint, levelOrFactor) none 地图居中并缩放。

centerAt(mapPoint) none 以指定地图坐标作为中心点坐标重定位地图。

disableClickRecenter() none 不允许单击地图来重定位地图中心点。

disableDoubleClickZoom() none 不允许双击地图来放大地图一个级别并重定位地图中心点

disableMapNavigation() none 除了滑动条和移动箭头,不允许其它所有地图导航。

disablePan() none 不允许用鼠标移动地图。

disableRubberBandZoom() none 不允许使用边界框放大或缩小地图。

disableScrollWheelZoom() none 不允许使用鼠标滚动滑轮放大或缩小地图。

disableShiftDoubleClickZoom() none 不允许shift键+鼠标双击放大地图并重定位地图中心点。

disbleKeyboardNavigation() none 不允许使用键盘移动和缩放地图。

enableClickRecenter() none 允许用户单击地图来重定位中心点。

enableDoubleClickZoom() none 允许用户双击地图放大一个级别并重定位地图中心点。

enableKeyboardNavigation() none 允许用户使用键盘移动和缩放地图。

enableMapNavigation() none 允许所有地图导航。

enablePan() none 允许使用鼠标移动地图。

enableRubberBandZoom() none 允许使用划定边界框放大或缩小地图。

enableScrollWheelZoom() none 允许用户用鼠标滑轮放大或缩小地图。

enableShiftDoubleClickZoom() none 允许用使用shift+双击鼠标去放大地图一个级别并重定位地图中心点。

hidePanArrows() none 隐藏地图移动指针。

hideZoomSlider() none 隐藏地图缩放滚动条。

panDown() none 向南移动地图。

panLeft() none 向西移动地图。

panLowerLeft() none 向西南移动地图。

panLowerRight() none 向东南移动地图。

panRight() none 向东移动地图。

panUp() none 向北移动地图。

panUpperLeft() none 向西北移动地图。

panUpperRight() none 向东北移动地图。

showPanArrows() none 显示地图移动指针。

showZoomSlider() none 显示缩放滚动条。

事件

事件 描述

onClick(event) 当用户使用鼠标单击地图且鼠标在HTML页面的地图范围内时触发。

onDblClick(event) 当用户在地图上双击鼠标且鼠标在html页面的地图范围内时触发该事件

onExtentChange(extent, delta, levelChange, lod) 当地图范围已经修改触发该事件。

onKeyDown(keyEvent) 当键盘某键被按下时触发该事件

onKeyUp(keyEvent) 当键盘某键被释放时触发该事件。

onLayerAdd(layer) 图层被添加到地图时触发该事件。

onLayerRemove(layer) 图层已经被删除后触发事件

onLayerReorder(layer, index) 当地图图顺序已经被改变时触发事件。

onLayersRemoved() 所有图层被删除后触发事件

onLayersReordered(layerIds) 所有图层被重新排序是触发事件。

onLoad(map) 第一个或基础图层被成功添加到地图时触发事件。

onMouseDown(event) 当鼠标按钮被按下且鼠标指针在HTML页面的地图范围里时触发事件。

onMouseDrag(event) 鼠标被拖转直到鼠标按钮被释放时触发事件。

onMouseDragEnd(event) 当鼠标按钮被释放并且用户停止拖拽鼠标时触发事件。

onMouseDragStart(event) 当鼠标按钮被按下并用户开始拖拽鼠标时触发事件。

onMouseMove(event) 鼠标指针在地图范围上移动时触发事件。通常该事件用于用户移动鼠标指针时显示当前地图x,y坐标。

onMouseOut(event) 当鼠标移出HTML页的地图范围时触发事件。

onMouseOver(event) 鼠标移入HTML页面的地图范围时触发事件。

onMouseUp(event) 当鼠标按钮被释放并且鼠标指针在HTML页面的地图范围内时触发事件。

onMouseWheel(event) 鼠标滚轮滚动时触发事件。

onPan(extent, delta) 地图移动过程中触发事件。

onPanEnd(extent, endPoint) 移动完成时触发事件。

onPanStart(extent, startPoint) 用户开始移动时触发事件。

onReposition(x, y) 地图DIV被重新定位时触发事件。

onResize(extent, height, width) 包含地图的DIV已经被调整大小时触发事件。

onUnload(map) 刷新页面时触发事件。

onZoom(extent, zoomFactor, anchor) 缩放过程

中触发事件。

onZoomEnd(extent, zoomFactor, anchor, level) 缩放完成时触发事件。

onZoomStart(extent, zoomFactor, anchor, level) 用户开始缩放时触发事件。

构造方法详细信息

esri.Map(divId, options?)

在给定的HTML容器里创建地图,容器通常是DIV元素。地图大小就是容器的大小。Map对象的构造方法可以包含可选参数,可选参数的顺序是任意的。

参数:

<String> divId 必需的 引用地图的容器ID。这个值是必需的。

<Object> options 可选项 可选参数。见选选项列表。

可选项:

<Boolean> displayGraphicsOnPan 当属性为true,移动时显示图。当值为false,移动期间图形被关闭。设置为false可以提升IE性能。默认值为true。默认值是true。

<Extent> extent 如果提供,地图的范围和投影被设置为Extent属性。一旦投影被设置,所有图层都必须能够在已定义的投影方式下绘制。ArcGISTiledMapServiceLayer切片模式必须和地图的投影匹配。范围的投影自v1.2起在地图构造函数里被接受。

function init() {

var map = new esri.Map("map", {

extent: new esri.geometry.Extent({xmin:-20098296,ymin:-2804413,xmax:5920428,ymax:15813776,spatialReference:{wkid:54032}})

});

var dynamicMSLayer = new esri.layers.ArcGISDynamicMapServiceLayer

("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer")

map.addLayer(dynamicMSLayer);

}

<Object> layer 图层被用来初始化地图。这将是基本图层。对象格式是{type, url}。

<LOD[]> lods 如果提供,地图按指定的细节等级被初始化。为了被显示,添加到地图的所有ArcGISTiledMapServiceLayers必需有匹配的分辨率。(自v1.2起)

var lods = [

{"level" : 0, "resolution" : 0.010986328125, "scale" : 4617149.97766929},

{"level" : 1, "resolution" : 0.0054931640625, "scale" : 2308574.98883465},

{"level" : 2, "resolution" : 0.00274658203125, "scale" : 1154287.49441732},

{"level" : 3, "resolution" : 0.001373291015625, "scale" : 577143.747208662},

{"level" : 4, "resolution" : 0.0006866455078125, "scale" : 288571.873604331}

];

map = new esri.Map("map", {

lods: lods

});

<Boolean> nav 在地图上显示移动按钮。当值为false,移动箭头不会显示。默认值是false。

<Boolean> showInfoWindowOnClick 当用户点击图形,如果图形定义了信息模板,默认行为是显示信息窗口。 当属性为true,默认行为被认同。默认值是true。

<Boolean> slider 在地图上显示滑动条。当值为false,滑动条不显示。默认值是true。

代码片段:

本例中,一个新的名为"mymap"的地图被创建,并被放置在"mapDiv"容器里面。

var myMap;

function init() {

//create ma

p

myMap = new esri.Map("mapDiv");

...

}

接下来的代码中,地图容器用DIV id引用。

<div id="mapDiv" style="width:600px; height:600px; border:1px solid #000;"></div>

在这个第二个例子,可选的extent参数也被包含在容器内。

var myMap = new esri.Map("mapDiv", { extent: new esri.geometry.Extent

(-124.71, 31.89, -113.97, 42.63) });

本例创建了一个没有滚动条和移动箭头的的地图。

var myMap = new esri.Map("mapDiv", { slider:false, nav:false });

本例中,地图移动中图形被关闭。

var myMap = new esri.Map("mapDiv", { displayGraphicsOnPan:false });

如果仅仅为Internet Explorer在移动时关闭图形显示,使用下面的构造函数:

var myMap = new esri.Map("mapDiv", { displayGraphicsOnPan:! dojo.isIE });

属性详细信息

<Extent> extent

以地图单位表示的地图当前范围。关于范围的信息,详见在地图里设置和使用范围。

代码片段:

function showExtent() {

var s = "";

s = "XMin: "+ myMap.extent.xmin

+" YMin: " + myMap.extent.ymin

+" XMax: " + myMap.extent.xmax

+" YMax: " + myMap.extent.ymax;

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

}

参见:

setExtent onExtentChange onPan onZoom onZoomEnd onZoomStart

<GraphicsLayer> graphics

提供访问地图的图形图层。

参见:

showInfoWindow Graphic GraphicsLayer

<String[]> graphicsLayerIds

地图里当前GraphicsLayers的数组。 (自v1.4起)

参见:

layerIds

<Number> height

地图的当前高度,高度单位是屏幕像数。这个属性是只读的。地图高和宽通常设置在HTML DIV 或其他包含地图容器的HTML元素里。

代码片段:

function getMapWidthHeight() {

alert("Width = " + myMap.width + "; Height = " + myMap.height);

}

<String> id

地图位于页面的HTML DIV或其他元素的引用。该属性在地图构造函数里设置。

代码片段:

myMap = new esri.Map("mapDiv");

<InfoWindow> infoWindow

在地图上显示信息窗口

<Boolean> isClickRecenter

当属性为true,按shift+click键重定义地图中心点。详见Map navigation

已知值: true | false

默认值: true

代码片段:

function stopClickRecenter() {

myMap.disableClickRecenter();

dojo.byId("stopClickRecenter").value = myMap.isClickRecenter;

}

参见:

disableClickRecenter enableClickRecenter

<Boolean> isDoubleClickZoom

当属性为true,双击放大地图可用,允许用户使用鼠标双击放大和重定义地图中心点。 详见地图导航。

已知值: true | false

默认值: true

代码片段:

dojo.byId("theDoubleClickZoom").value = myMap.isDoubleClickZoom;

参见:

disableDoubleClickZoom enableDoubleClickZoom isShiftDoubleClickZoom

<Boolean> isKeyboardNavigation

当属性为true,键盘导航可用。该属性允许用户用箭头键移动地图,用+和-键缩放地图。 详见地图导航。

已知值: true | false

默认值:

true

代码片段:

dojo.byId("keyboardNavigationStatus").value = myMap.isKeyboardNavigation;

参见:

disableKeyboardNavigation enableKeyboardNavigation

<Boolean> isPan

当属性为true,可以使用鼠标移动地图。 详见地图导航。

已知值: true | false

默认值: true

代码片段:

dojo.byId("panStatus").value = myMap.isPan;

参见:

disablePan enablePan

<Boolean> isPanArrows

当属性为true,在地图边缘显示移动箭头。 详见地图导航。

已知值: true | false

默认值: false

参见:

hidePanArrows showPanArrows

<Boolean> isRubberBandZoom

当属性为true,伸缩线可用。允许用户使用鼠标画一个边界框放大区域。 详见地图导航。

已知值: true | false

默认值: true

代码片段:

dojo.byId("checkRubberBandZoom").value = myMap.isRubberBandZoom;

参见:

disableRubberBandZoom enableRubberBandZoom

<Boolean> isScrollWheelZoom

当属性为true,可用鼠标滚动缩放地图 详见地图导航。

已知值: true | false

默认值: true

代码片段:

function stopScrollWheelZoom() {

myMap.disableScrollWheelZoom();

dojo.byId("stopScrollWheelZoom").value = myMap.isScrollWheelZoom;

}

参见:

disableScrollWheelZoom enableScrollWheelZoom

<Boolean> isShiftDoubleClickZoom

当属性为true,可用shift键+双击鼠标放大地图。这允许用户使用shift + 鼠标双击去放大和重定向地图中心。 详见地图导航。 (As of v1.2)

已知值: true | false

默认值: true

代码片段:

dojo.byId("theShiftDoubleClickZoom").value = myMap.isShiftDoubleClickZoom;

参见:

disableShiftDoubleClickZoom enableShiftDoubleClickZoom isDoubleClickZoom

<Boolean> isZoomSlider

当属性为true,地图上显示缩放滑动条。 详见 Map navigation 。

已知值: true | false

默认值: true

参见:

hideZoomSlider showZoomSlider

<String[]> layerIds

加到地图里的当前TiledMapServiceLayers和DynamicMapServiceLayers的数组

代码片段:

function getLayerProperties() {

for(var j = 0; j < map.layerIds.length; j++) {

var layer = map.getLayer(map.layerIds[j]);

alert(layer.id + ' ' + layer.opacity + ' ' + layer.visibility);

}

}

参见:

graphicsLayerIds

<Boolean> loaded

第一个图层被加载后,属性值被设置为true

已知值: true | false

参见:

onLoad onUnload

<Point> position

该屏幕坐标的点几何体代表地图容器的左上角。这个坐标也担当了地图和GraphicsLayer事件返回的所有屏幕坐标的原点。 (As of v1.3)

<SpatialReference> spatialReference

地图的空间参考。支持的空间参考列表,见投影坐标系统和地理坐标系统。

<Number> width

地图当前宽度,宽度单位是屏幕像数。 这个属性是只读的。地图高和宽通常设置在HTML DIV 或其他包含地图容器的HTML元素里。

代码片段:

function getMapWidthHeight() {

alert("Width = " + my

Map.width + "; Height = " + myMap.height);

}

方法详细信息

addLayer(layer, index?)

增加ESRI图层到地图。

v1.4增加了返回Layer对象

返回值: Layer

输入参数:

<Layer> layer 必需的 被加到地图的图层。

<Number> index 可选项 增加图层的指定的索引。如果没有索引被指定或指定索引大于当前图层数量,图层自动应用到地图里的图层列表并且索引是标准化的。(自v1.3起)

参见:

onLayerAdd

centerAndZoom(mapPoint, levelOrFactor)

地图居中并缩放。 (As of v1.2)

返回值: none

输入参数:

<Point> mapPoint 必需的 地图在指定的X,Y位置居中。

<Number> levelOrFactor 必需的 当使用ArcGISTiledMapServiceLayer,地图缩放到指定的级别。当使用时,地图按指定的系数放大或缩小。例如,用0.5放大2倍,用2.0缩小两倍。

centerAt(mapPoint)

以指定地图坐标作为中心点坐标重定位地图。

返回值: none

输入参数:

<Point> mapPoint 必需的 地图在指定x,y位置居中。

disableClickRecenter()

不允许单击地图来重定位地图中心点。 详见地图导航。

返回值: none

代码片段:

function init() {

myMap = new esri.Map("mapDiv");

myMap.disableClickRecenter();

}

参见:

enableClickRecenter isClickRecenter

disableDoubleClickZoom()

不允许双击地图来放大地图一个级别并重定位地图中心点 详见地图导航。

返回值: none

代码片段:

function init() {

myMap = new esri.Map("mapDiv");

myMap.disableDoubleClickZoom();

}

参见:

enableDoubleClickZoom isDoubleClickZoom disableShiftDoubleClickZoom

disableMapNavigation()

除了滑动条和移动箭头,不允许其它所有地图导航。 详见地图导航。

返回值: none

disablePan()

不允许用鼠标移动地图。 详见地图导航。

返回值: none

代码片段:

function noPan() {

myMap.disablePan();

}

参见:

enablePan isPan

disableRubberBandZoom()

不允许使用边界框放大或缩小地图。 详见地图导航。

返回值: none

代码片段:

function noRubberBand() {

myMap.disableRubberBandZoom();

}

参见:

enableRubberBandZoom isRubberBandZoom

disableScrollWheelZoom()

不允许使用鼠标滚动滑轮放大或缩小地图。 详见地图导航。

返回值: none

代码片段:

function stopScrollWheelZoom() {

myMap.disableScrollWheelZoom();

dojo.byId("stopScrollWheelZoom").value = myMap.isScrollWheelZoom;

}

参见:

enableScrollWheelZoom isScrollWheelZoom

disableShiftDoubleClickZoom()

不允许shift+鼠标双击放大地图并重定位地图中心点。 详见地图导航。 (As of v1.2)

返回值: none

代码片段:

function init() {

myMap = new esri.Map("mapDiv");

myMap.disableShiftDoubleClickZoom();

}

参见:

enableShiftDoubleClickZoom disableDoubleClickZoom isShiftDoubleClickZoom

disbleKeyboardNavigation()

不允许使

用键盘移动和缩放地图。 详见地图导航。

返回值: none

代码片段:

function init() {

myMap = new esri.Map("mapDiv");

myMap.disableKeyboardNavigation();

}

enableClickRecenter()

允许用户单击地图来重定位中心点。 详见地图导航。

返回值: none

代码片段:

function okClickRecenter() {

myMap.enableClickRecenter();

}

参见:

isClickRecenter disableClickRecenter

enableDoubleClickZoom()

允许用户双击地图放大一个级别并重定位地图中心点。 详见地图导航。

返回值: none

代码片段:

function okDoubleClickZoom() {

myMap.enableDoubleClickZoom();

}

参见:

isDoubleClickZoom disableDoubleClickZoom enableShiftDoubleClickZoom

enableKeyboardNavigation()

允许用户使用键盘移动和缩放地图。 详见地图导航。

返回值: none

代码片段:

function init() {

myMap = new esri.Map("mapDiv");

myMap.enableKeyboardNavigation();

}

参见:

isKeyboardNavigation disableKeyboardNavigation

enableMapNavigation()

允许所有地图导航。 详见地图导航。

返回值: none

enablePan()

允许使用鼠标移动地图。 详见地图导航。

返回值: none

代码片段:

function panAgain() {

myMap.enablePan();

}

参见:

isPan disablePan

enableRubberBandZoom()

允许使用划定边界框放大或缩小地图。 详见地图导航。

返回值: none

代码片段:

function allowRubberBand() {

myMap.enableRubberBandZoom();

}

参见:

isRubberBandZoom disableRubberBandZoom

enableScrollWheelZoom()

允许用户用鼠标滑轮放大或缩小地图。 详见地图导航。

返回值: none

代码片段:

function allowScrollWheelZoom() {

myMap.enableScrollWheelZoom();

}

参见:

isScrollWheelZoom disableScrollWheelZoom

enableShiftDoubleClickZoom()

允许用使用shift+双击鼠标去放大地图一个级别并重定位地图中心点。 详见地图导航。 (As of v1.2)

返回值: none

代码片段:

function okShiftDoubleClickZoom() {

myMap.enableShiftDoubleClickZoom();

}

参见:

enableDoubleClickZoom isShiftDoubleClickZoom disableShiftDoubleClickZoom

getInfoWindowAnchor(screenCoords)

设置调用InfoWindow.show方法时信息窗口的定位点。

返回值: String

输入参数:

<Point> screenCoords 必需的 以屏幕单位表示的定位点。

getLayer(id)

返回地图一个单独的图层。

返回值: Layer

输入参数:

<String> id 必需的 被分配给图层的ID。

getLevel()

获得当前地图的级别ID。仅仅ArcGISTiledMapService有效。

返回值: Number

参见:

setLevel onLevelChanged onLevelChanging

hidePanArrows()

隐藏地图移动指针。 详见地图导航。

返回值: none

参见:

showPanArrows isPanArrows

hideZoomSlider()

隐藏地图缩放滚动条。 详见地图导航。

返回值: none

参见:

showZoomSlider isZoomSlider

panDown()

向南移动

地图。

返回值: none

代码片段:

function south() {

myMap.panDown();

}

panLeft()

向西移动地图。

返回值: none

代码片段:

function west() {

myMap.panLeft();

}

panLowerLeft()

向西南移动地图。

返回值: none

代码片段:

function southWest() {

myMap.panLowerLeft();

}

panLowerRight()

向东南移动地图。

返回值: none

代码片段:

function southEast() {

myMap.panLowerRight();

}

panRight()

向东移动地图。

返回值: none

代码片段:

function east() {

myMap.panRight();

}

panUp()

向北移动地图。

返回值: none

代码片段:

function north() {

myMap.panUp();

}

panUpperLeft()

向西北移动地图。

返回值: none

代码片段:

function northWest() {

myMap.panUpperLeft();

}

panUpperRight()

向东北移动地图。

返回值: none

代码片段:

function northEast() {

myMap.panUpperRight();

}

removeAllLayers()

从地图上删除所有图层。

当图层被删除是,已定义的地图范围,空间参考,切片模式不会修改。当下一个图层被加到地图,图层以相同的范围和空间参考显示。 (As of v1.3)

返回值: none

参见:

onLayersRemoved onLayerRemove

removeLayer(layer)

删除地图的指定图层。 (As of v1.3)

返回值: none

输入参数:

<Layer> layer 必需的 需要被删除的图层。

当图层被删除是,已定义的地图范围,空间参考,切片模式不会修改。当下一个图层被加到地图,图层以相同的范围和空间参考显示。

参见:

onLayerRemove

reorderLayer(layer, index)

修改地图里图层顺序。注意第一个增加的图层总是基础图层,即使顺序被修改了。

返回值: none

输入参数:

<Layer> layer 必需的 参数指定图层将被移动。 (As of v1.4)版本1.4以后,使用该参数代替“layerId”参数。

在v1.4以前,使用"layerID"代替"layer"

类型: <String>

定义: 被移动的图层的ID。该ID被指定在Layer.id里面。

<Number> index 必需的 引用放置图层的位置。最底部的图层的index是0。

参见:

onLayerReorder

reposition()

在页面上重新放置地图DIV。当地图已经被重新放置后需要使用这个方法。

返回值: none

resize()

调整地图DIV。当重新调整map DIV大小后这个方法要被使用。

返回值: none

参见:

onResize

setExtent(extent, fit?)

设置地图范围。范围必需参照和地图一样的空间参考

返回值: none

输入参数:

<Extent> extent 必需的 为地图设置minx, miny, maxx和 maxy 。

<Boolean> fit 可选项 当属性为true,对于包含切片地图服务图层,会保证你有一个在地图上完整地显示输入范围。 (As of v1.3)

参见:

onExtentChange onPan onZoom onZoomEnd onZoomStart extent

setLevel(level)

设置地图到指定级别ID。基于当前地图中心点缩放到新的级

别。仅仅对ArcGISTiledMapService图层有效。

返回值: none

输入参数:

<Number> level 必需的 The level ID.

参见:

onLevelChanged onLevelChanging getLevel LOD

setMapCursor(cursor)

设置地图默认鼠标形状。除了拖拽地图进行移动或使用SHIFT+拖拽放大地图时外,鼠标位于地图上时该指针总被显示。如果没有设置,地图使用系统默认指针,通常使用箭头。 (As of v1.5)

返回值: none

输入参数:

<String> cursor 必需的 标准CSS cursor value。一些常用值包括 "default", "pointer", "crosshair", "text", "help", 和 "wait".

代码片段:

Map.setMapCursor("wait");

showPanArrows()

显示地图移动指针。 详见地图导航。

返回值: none

参见:

isPanArrows hidePanArrows

showZoomSlider()

显示缩放滚动条。 详见地图导航。

返回值: none

参见:

isZoomSlider hideZoomSlider

toMap(screenPoint)

转换单个屏幕点坐标或屏幕点坐标数组为地图坐标。

返回值: Point

输入参数:

<Point> screenPoint 必需的 转换屏幕坐标到地图坐标。

toScreen(mapPoint)

转换单个地图点坐标或地图点坐标的数组为屏幕坐标。

返回值: Point

输入参数:

<Point> mapPoint 必需的 转换地图坐标到屏幕坐标。

Events Detail

onClick(event)

当用户使用鼠标单击地图且鼠标在HTML页面的地图范围内时触发。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onDblClick(event)

当用户在地图上双击鼠标且鼠标在html页面的地图范围内时触发该事件

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onExtentChange(extent, delta, levelChange, lod)

当地图范围已经修改触发该事件。

Arguments:

<Extent> extent 地图范围修改以后,获得地图范围。

<Point> delta 变化在来自以前范围的x和y的值。这个点的x和y值是用屏幕单位表示。该点担当参照点,在缩放处理期间,这部分地图保持在地图区域内。

<Boolean> levelChange 当使用ArcGIS Server切片地图服务时,当用户缩放地图到新的等级是参数值为"true",移动操作时参数值是"false"。

<LOD> lod 当使用ArcGIS Server切片地图服务时,参数返回关于细节等级的特征。

参见:

setExtent extent

onKeyDown(keyEvent)

当键盘某键被按下时触发该事件

Arguments:

<Object> keyEvent keyCode是Unicode数字表示的按键。见http://msdn2.microsoft.com/en-us/library/ms536938.aspx.

onKeyUp(keyEvent)

当键盘某键被释放时触发该事件。

Arguments:

<Object> keyEvent keyCode是Unicode数字表示按键。

onLayerAdd(layer)

图层被添加到地图时触发该事件。

Arguments:

<Layer> layer 被加到地图里的图层。

参见:

addLayer

onLayerRemove(layer)

图层

已经被删除后触发事件 (As of v1.3)

Arguments:

<Layer> layer 删除的图层。

参见:

removeLayer removeAllLayers

onLayerReorder(layer, index)

当地图图顺序已经被改变时触发事件。

Arguments:

<Layer> layer 重新排序的图层。

<Number> index 重新排序的图层的指针。

参见:

reorderLayer

onLayersRemoved()

所有图层被删除后触发事件 (As of v1.3)

参见:

removeAllLayers

onLayersReordered(layerIds)

所有图层被重新排序是触发事件。 (As of v1.1)

Arguments:

<String[]> layerIds 缩放时间期间获得范围。

onLoad(map)

第一个或基础图层被成功添加到地图时触发事件。

Arguments:

<Map> map 指定加载地图。

参见:

onUnload loaded Layer.onLoad

onMouseDown(event)

当鼠标按钮被按下且鼠标指针在HTML页面的地图范围里时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseDrag(event)

鼠标被拖转直到鼠标按钮被释放时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseDragEnd(event)

当鼠标按钮被释放并且用户停止拖拽鼠标时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseDragStart(event)

当鼠标按钮被按下并用户开始拖拽鼠标时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseMove(event)

鼠标指针在地图范围上移动时触发事件。通常该事件用于用户移动鼠标指针时显示当前地图x,y坐标。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseOut(event)

当鼠标移出HTML页的地图范围时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseOver(event)

鼠标移入HTML页面的地图范围时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseUp(event)

当鼠标按钮被释放并且鼠标指针在HTML页面的地图范围内时触发事件。

Arguments:

<Object> event 结果可以是任何JavaScript MouseEvent,或screenPoint或mapPoint的X,Y坐标。

onMouseWheel(event)

鼠标滚轮滚动时触发事件。

Arguments:

<Object> event 返回对象包含screenPoint, mapPoint,和 Graphic。

onPan(extent, delta)

地图移动过程中触发事件。

Arguments:

<Extent> extent 随着地图移动的地图当前范围。

<Point> delta 随着地图移动改变的屏幕单位的x,y值。

参见:

setExtent extent

onPanEnd(extent, endPoint)

移动完成时触发事

件。

Arguments:

<Extent> extent 随地图移动的地图当前范围。

<Point> endPoint 当移动结束时屏幕单位的最终点。

onPanStart(extent, startPoint)

用户开始移动时触发事件。

Arguments:

<Extent> extent 地图移动的地图当前范围。

<Point> startPoint 当使用鼠标时,鼠标单击的屏幕单位的开始点。如果键盘被使用,开始点是0,0。

onReposition(x, y)

地图DIV被重新定位时触发事件。

Arguments:

<Number> x 屏幕单位的X-坐标。

<Number> y 屏幕单位的Y-坐标。

onResize(extent, height, width)

包含地图的DIV已经被调整大小时触发事件。

Arguments:

<Extent> extent 地图范围。

<Number> height 地图的像数高。

<Number> width 地图的像数宽。

参见:

resize

onUnload(map)

刷新页面时触发事件。

Arguments:

<Map> map 指定将卸载地图。

参见:

loaded onLoad

onZoom(extent, zoomFactor, anchor)

缩放过程中触发事件。

Arguments:

<Extent> extent 缩放事件期间获得地图范围。

<Number> zoomFactor 表示地图从以前的范围放大或缩小的百分比的比例系数。值为2代表地图比以前的地图范围放大2倍,值为0.5表示地图比以前缩小2倍。

<Point> anchor 鼠标点的位置。点x和y的值的单位是屏幕单位。该点担当参考点,在缩放处理期间,地图的这一部分保持在地图区域内。

参见:

setExtent extent

onZoomEnd(extent, zoomFactor, anchor, level)

缩放完成时触发事件。

Arguments:

<Extent> extent 缩放事件结束获得地图范围。

<Number> zoomFactor 表示地图从以前的范围放大或缩小的百分比的比例系数。值为2代表地图比以前的地图范围放大2倍,值为0.5表示地图比以前缩小2倍。

<Point> anchor 鼠标点的位置。点x和y的值的单位是屏幕单位。该点担当参考点,在缩放处理期间,地图的这一部分保持在地图区域内。

<Number> level 地图缩放完成后ArcGISTiledMapServiceLayer的等级。

参见:

setExtent extent

onZoomStart(extent, zoomFactor, anchor, level)

用户开始缩放时触发事件。

Arguments:

<Extent> extent 缩放事件开始时获得地图范围。

<Number> zoomFactor 表示地图从以前的范围放大或缩小的百分比的比例系数。值为2代表地图比以前的地图范围放大2倍,值为0.5表示地图比以前缩小2倍。

<Point> anchor 鼠标点的位置。点x和y的值的单位是屏幕单位。该点担当参考点,在缩放处理期间,地图的这一部分保持在地图区域内。

<Number> level 地图缩放开始前ArcGISTiledMapServiceLayer的等级。

参见:

setExtent extent

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐