Class:Map
在线API:https://developers.arcgis.com/javascript/jsapi/map-amd.html
Require :
1、AMD Module Require :require(["esri/map"],function(Map){/* code goes here */});
异步模块引用,适用于ADM规范编程。
2、Legacy Module Require :dojo.require("esri.map");
遗留模块引用(Legacy翻译为遗留,实际就是通过dojo远程加载esri.map),这种情况下可能会出现dojo未加载完成导致的undefined错误,
可使用dojo.ready(function(){})解决。
Constructors
new esri.Map(divId, options?)
1、divId :
(1) 地图所在divID,建议使用绝对高度和绝对宽度,可以在初始化地图前获取window的宽高然后对地图div进行动态设置。
如:
var Window_H = $(window).height();
var Window_W = $(window).width();
var Map_H = Window_H - 100;
var Map_W = Window_W - 300;
$("#map").css({
height: Map_H + "px",
width: Map_W + "px"
});
var map = new Map("map", {
basemap: "topo", //For full list of pre-defined basemaps, navigate to http://arcg.is/1JVo6Wd
center: [-122.45, 37.75], // longitude, latitude
zoom: 13
});
(2) 可以传具体的div对象。
如
var mapDiv = $("#map")[0];
var map = new Map(mapDiv, {
basemap: "topo", //For full list of pre-defined basemaps, navigate to http://arcg.is/1JVo6Wd
center: [-122.45, 37.75], // longitude, latitude
zoom: 13
});
2、options
(1)<Number
> attributionWidth
attribution控件相对于地图的位置,个人认为这个参数放到map的构造函数里非常不合适,碍于看不到源码,不知道作者出于什么考虑。强烈鄙视API不开源!
(2)<Boolean
> autoResize
地图所在容器大小改变时是否自动重置地图大小
(3)<String
> basemap
内置的底图,对应arcgisonline上的地图服务。有效值为"streets" , "satellite" , "hybrid", "topo", "gray", "dark-gray", "oceans", "national-geographic", "terrain" and "osm".
(4)<Number[] | Point
> center
中心点,如[-122.45, 37.75],一般与zoom属性同时使用
(4)<Number
> zoom
地图级别,一般与中心点同时使用
(5)<Boolean
> displayGraphicsOnPan
地图平移时是否显示矢量图形。默认为true,设置为false有助于提升浏览器渲染速度。
该参数只在平移时起作用,地图级别改变时,因比例尺的改变,图形肯定会有重绘的过程。
(6)<Extent
> extent
设置地图初始化范围。这里需要注意当center属性和zoom属性已经设置后,该属性不再起作用。
(7)<Boolean
> fadeOnZoom
指定地图在地图级别改变过程中是否带过渡效果,即平缓的改变地图内容。只有当navigationMode属性设置为“css-transforms”时才起作用。默认为true.
(8)<String
> navigationMode
可选值为:"css-transforms" , "classic".
"css-transforms"为CSS3支持的属性,transform为变换,用于实现动画效果。
"classic“意为经典。
该属性默认根据浏览器是否支持CSS3属性而自动选择值。这也就是为什么同一个地图在IE8及以下浏览器中与在其他支持CSS3的浏览器中缩放效果不一样的原因。
(9)<Boolean
> force3DTransforms
3D transforms是CSS3里的3D变换动画,该属性大致意为是否强制使用3D transforms,建议为false,让浏览器自主根据自身是否支持CSS3来选择。
未找到更多资料和使用场景,具体效果未知。
(10)<Boolean
> fitExtent
默认为false.如果地图包含瓦片服务,地图会根据初始化范围捕捉最近的lod作为地图显示范围。如果设置为true,则会严格按照给定的初始化范围进行定位。
(11)<InfoWindowBase
> infoWindow
在地图上显示的窗口
(12)<LOD[]
> lods
级别详细信息。分为以下情况(亲测):
如果未设置,则按照第一个加到地图上的瓦片服务的级别信息。
如果设置,则必须与设置的级别信息一致的瓦片服务才能正常显示。
(13)<Boolean
> logo
是否在地图上显示esri的logo,默认为true
(13)<Number
> maxScale
地图显示的最大比例尺。此处分一下情况说明该参数
动态服务:调用getLevel或者getZoom返回值为-1。设置maxZoom无效。设置maxScale有效。发现一个问题是放大到最大比例尺后,继续滚动鼠标滑轮,地图出现平移现象, 根据鼠标位置不同平移方向不同。
瓦片服务:如果设置了maxZoom,则maxScale无效。如果未设置maxZoom,则根据设置的maxScale计算出maxZoom作为最大级别。计算方式未知,一般是低一级的MaxZoom。实际使用时根据实际情况做调整即可。
(14)<Number
> maxZoom
地图显示的最大级别,应用于瓦片服务。
(15)<Number
> minScale
地图显示的最小比例尺。
动态服务:设置minZoom无效。设置minScale有效。缩小
到最小比例尺后,继续滚动鼠标滑轮,地图出现平移现象, 根据鼠标位置不同平移方向不同。
瓦片服务:如果设置了minZoom,则minScale无效。如果未设置minZoom,则根据设置的minScale计算出minZoom作为最小级别。计算方式未知,一般是高一级的MinZoom。实际使用时根据实际情况做调整即可。
(16)<Number
> minZoom
地图显示的最小级别,应用于瓦片服务。
(17)<Boolean
> nav
平移按钮是否显示,默认为false.
(18)<Boolean
> optimizePanAnimation
用于设置在centerAt、setExtent方法调用时是否优化平移。默认为true,不带有平移动画,当平移距离超过当前地图范围两倍时,可消除不必要地图请求以提高效率。
(19)<Number
> resizeDelay
该参数设置一个数值,单位是毫秒,在resize方法调用后的该段时间内,resize重复调用无效。
(20)<Number
> scale
地图初始化时的比例尺
(21)<Boolean
> showAttribution
启用或禁用地图属性显示。Attribution指esri/dijit/Attribution。
(22)<Boolean
> showInfoWindowOnClick
点击地图时是否允许弹出infoWindow。默认为true.
(23)<Boolean
> showLabels
FeatureLayer的属性,是否显示featureLayer的label.
(24)<Boolean
> slider
是否显示地图缩放滑块
(25)<String
> sliderStyle
地图缩放滑块风格,可选值为'small'、'large'。默认为'small'。这里最好结合esri提供的一些样式,比如claro.css或者自定义样式。
(26)<String[]
> sliderLabels
缩放滑动条标注文字,当sliderStyle设置为"large"时才有效果,数组长度一般与地图级别数相同。只有加载了瓦片服务的地图才有效果。
(27)<String
> sliderOrientation
缩放滑块方向,可选值是"Orientation","vertical". 默认是vertical。
(28)<String
>sliderPosition
缩放滑块位置,可选值是 "top-left", "top-right", "bottom-left", "bottom-right"。默认是"top-left"。
(29)<Boolean
> wrapAround180
在WGS84地理坐标系或Web Mercator投影坐标系中支持跨越日期线的拖动(纬向循环)
(30)<Number
> zoom
设置地图初始化级别。
欢迎转载,请注明出处。