SuperMap.Map

地图类。 用于实例化map类创建一个新地图,实现地图在客户端的交互操作,可通过给创建的map添加图层和控件来扩展应用, 在创建地图时,如果没有添加指定的控件,则默认Navigation、PanZoomBar控件。

Summary
SuperMap.Map 地图类。 用于实例化map类创建一个新地图,实现地图在客户端的交互操作,可通过给创建的map添加图层和控件来扩展应用, 在创建地图时,如果没有添加指定的控件,则默认Navigation、PanZoomBar控件。
Constants
EVENT_TYPES 支持应用事件的类型。
Z_INDEX_BASE {Object} 不同的类的基本z-index值。
Properties
allOverlays {Boolean} 地图所有图层都被当做叠加图层来使用,默认是false。如果设置为 true,则图层相互叠加, 最先绘制的图层可以被视为是底图(显示效果上的底图,但其isBaseLayer为false); 而且所有将要添加的图层的”isBaseLayer”属性在添加的时候都会被默认修改成false。。
baseLayer {SuperMap.Layer} 用来确定min/max zoom level、projection等属性。
displayProjection {SuperMap.Projection} 将投影设置为除EPSG:4326 或 EPSG:900913/EPSG:3857以外的投影,需要proj4js的支持。该投影用 于通过控件(controls)向用户展示数据。如果设置了该属性,它就会 被设置到任何一个在添加到地图上的时候displayProjection属性为null的 控件上。
div {DOMElement|String} 装载地图的DOM元素(或一个元素的id值),如果 调用 SuperMap.Map 构造函数的时候传递两个参数,它将作为第一 个参数。此外,构造函数也能够只接收选项(options)对象作为唯一的参 数,这种情况下,div属性可能会也可能不会被提供。如果div属性没有 被提供,稍后可以使用 render 方法指定地图渲染的地方。
eventListeners {Object} 如果在构造方法中设置此选项,事件监听对象将注册。
events {SuperMap.Events} 事件对象,负责触发地图上的所有事件。
fallThrough {Boolean} 用来设置页面元素是否会接收地图触发的事件,默认是 true.
layers {Array(SuperMap.Layer)} 地图上图层的有序列表。
maxExtent {SuperMap.Bounds} 用于地图实例化的时候设置地图的最大范围。默认是(-180, -90, 180, 90)。
maxResolution {Float} 用于地图实例化的时候设置最大分辨率(设置该值可以使地图在分辨率达到某个值的时候无法 再缩小)。当不想将整张地图都展示在通过 tileSize 指定大小的一张瓦 片上的时候设置该值。设置为auto的时候地图会自适应视口大小。
maxScale {Float} 用于地图实例化的时候设置最大比例(设置该值可以使地图在比例达到某个值的时候无法 再放大)。
maxZoom {Number} 地图最大缩放级别。 (自 8.1 新增)
minExtent {SuperMap.Bounds} 用于地图实例化的时候设置地图的最小范围。 默认值是null。
minResolution {Float} 用于地图实例化的时候设置最小分辨率(设置该值可以使地图在分辨率达到某个值的时候无法 再放大)。
minScale {Float} 用于地图实例化的时候设置最小比例(设置该值可以使地图在比例达到某个值的时候无法 再缩小)。
minZoom {Number} 地图最小缩放级别。 (自 8.1 新增)
numZoomLevels {Integer} 用于地图实例化的时候设置地图缩放级别的数量。默认值16,当需要的时候可以在地图选项中设置 其他的值。
panMethod {Function} 作用于平移时的动画效果方法,设置为null时,动画平移将关闭。
popups {Array(SuperMap.Popup)} 地图上的弹窗列表。
projection {String} 在地图选项中被设置,用来指定地图添加图层的默认投影。同时 也可以选择设置maxExtent、 maxResolution、 和 units等属性。该项 默认值是”EPSG:4326”。
resolutions {Array(Float)} 降序排列的地图分辨率数组 (地图上每个像素代表的尺寸) 如果在构造图层时没有设置该属性,可通过比例尺相关的属 性(例如:maxExtent, maxResolution, maxScale等)计算获得。
restrictedExtent {SuperMap.Bounds} 限定地图缩放范围。 如果设置了restrictedExtent, 平移将会被限制在指定的边界内。
theme {String} 要加载的主题风格的CSS文件的相对路径。如果想通过直接在页 面添加层叠样式表链接或样式声明来设置样式,那就应该在地图属 性(options)对象中指定为null(例如:{theme: null})。
tileSize {SuperMap.Size} 在地图选项中被设置,用来设置地图上默认瓦片尺寸。
units {String} 地图的单位。默认是’degrees’。可选值为’degrees’(或者 ‘dd’), ‘m’,’ft’,’km’,’mi’,’inches’。
Constructor
SuperMap.Map 实例化 Map 类。
Functions
addControl 为地图添加控件。可选的位置参数用来指定控件的像素位置。
addControls 将控件添加到map上。 可以通过options的第二个数组通过像素对象控制控件的位置 两个数组应该匹配,如果pixel设为null,控件会显示在默认位置。
addLayer 向地图中添加指定的单个图层。
addLayers 向地图中添加指定的多个图层。
addPopup 在地图中添加弹出窗口。
destroy 销毁地图 注意,如果从DOM中移除map容器,需要在destroy前执行。
getBy 获取一个对象数组,并通过给定的属性匹配其中的项。
getCenter 获取当前地图的中心点坐标。
getControl 通过id值获取控件对象。
getControlsBy 根据给定的属性和匹配字符串匹配到的控件列表。
getControlsByClass 根据给定类的类名匹配到的控件列表。
getExtent 获取当前地图的范围。
getLayer 根据传入参数id获取图层。
getLayerIndex 获取图层在地图上的索引值(索引值从零开始)。
getLayerPxFromLonLat 根据传入的大地坐标获取图层坐标对象。
getLayerPxFromViewPortPx 根据视图窗口像素点坐标获取图层像素点坐标。
getLayersBy 获取与给定属性和匹配字符串匹配的图层列表。
getLayersByClass 根据类名获取的图层列表。
getLayersByName 获取根据名称匹配得到的图层列表。
getLonLatFromPixel 根据相对于地图窗口左上角的像素位置,返回其在地图上的地理位置。依据当前baselayer转换成 lon/lat (经度/纬度)形式。
getMaxExtent 获取地图的最大范围。
getMaxResolution 返回baseLayer最大的分辨率。
getNumLayers 获取地图上的图层数量。
getNumZoomLevels 获取当前底图的缩放级别总数,在底图存在的情况下与底图缩放级别(numZoomLevels) 相同
getPixelFromLonLat 获取地图上的像素坐标。依照当前baselayer,将指定的地理点位置坐标, 转换成其相对于地图窗口左上角点的像素坐标。
getProjection 该方法返回代表投影的字符串。
getProjectionObject 返回baseLayer的投影。
getResolution 获取当前地图的分辨率。
getResolutionForZoom 根据缩放级别获取对应分辨率。
getScale 获取当前地图的缩放比例。
getSize 获取当前地图容器大小。
getTileSize 获取地图瓦片的大小。
getUnits 获取地图的当前单位。
getViewPortPxFromLayerPx 根据图层像素点坐标获取视图窗口像素点坐标。
getViewPortPxFromLonLat 根据指定地理位置,返回其相对于当前地图窗口左上角的像素位置。
getZoom 获取当前地图的缩放比例级别。
getZoomForExtent 通过给定的范围获取比例级别。
getZoomForResolution 根据分辨率获取对应缩放级别。
pan 根据指定的屏幕像素值平移地图
panTo 平移地图到新的位置 如果新的位置在地图的当前范围内,地图将平滑地移动。
raiseLayer 通过给定的增量值(delta参数)来改变给定图层的索引值。如果增量值为 正,图层就会在图层堆栈中向上移;如果增量值为负,图层就会向下移。 这个方法同样不能将底图移动到叠加图层之上。
removeAllPopup 移除所有弹出窗口。
removeControl 移除控件。该方法不会使控件失效,若要使其失效,需调用该控件的deactivate方法。
removeLayer 通过删除可见元素(即layer.div属性)来移除地图上的图层。然后从地图的 图层列表中移除该图层,同时设置图层的map属性为null。
removePopup 移除指定的弹出窗口。
render 在指定的容器中渲染地图。
setBaseLayer 允许用户指定当前加载的某一图层为地图新的底图。
setCenter 设置地图中心点。
setLayerIndex 移动图层到图层列表中的指定索引值(索引值从零开始)的位置。改变 它在地图显示时的z-index值。使用map.getLayerIndex()方法查看图层 当前的索引值。注意该方法不能将底图移动到叠加图层之上。
setOptions 设置地图的options.
updateSize 通过动态调用updateSize()方式,来改变地图容器的大小。
zoomIn 在当前缩放级别的基础上放大一级。
zoomOut 在当前缩放级别的基础上缩小一级。
zoomTo 缩放到指定的级别。
zoomToExtent 缩放到指定范围,重新定位中心点。
zoomToMaxExtent 缩放到最大范围,并重新定位中心点。
zoomToScale 缩放到指定的比例
Constants
TILE_HEIGHT {Integer} 瓦片默认高度 256。
TILE_WIDTH {Integer} 瓦片默认宽度 256。

Constants

Z_INDEX_BASE

{Object} 不同的类的基本z-index值。

EVENT_TYPES

支持应用事件的类型。

{Array(String)} 支持应用事件的类型。为一个特殊的事件注册一个监听对象使用下面的方法

map.events.register(type, obj, listener);

监听对象将会作为事件对象的参考,事件的属性将取决于所发生的事情。

所有的事件对象都有下面的这些属性

  • object {Object} 发出浏览器事件的对象。
  • element {DOMElement} 浏览器接收事件的DOM元素。

浏览器事件有以下附加的属性

  • xy {SuperMap.Pixel} 事件触发的像素位置(相对于地图视口)。
  • 其他的属性来源于浏览器事件.

支持地图事件类型

  • preaddlayer 图层被添加之前被触发。事件对象包含 layer 属性来指明添 加的图层。当监听函数返回“false”表示无法添加图层。
  • addlayer 图层被添加之后被触发。事件对象包含 layer 属性来指明添加 的图层。
  • preremovelayer 图层被移除之前触发。事件对象包含 layer 属性来指明 要被移除的图层。当监听函数返回“false”表示无法移除该图层。
  • removelayer 图层被移除后触发。事件对象包含 layer 属性来指明要被移 除的图层。
  • changelayer 当一个图层的名称(name)、顺序(order)、透明度 (opcity)、参数个数(params)、可见性(visibility)(由可见比例引 起)或属性(attribution)发生改变时被触发。监听者会接收到一个事件 对象,该事件对象包含 layerproperty 属性,其中 layer 属性 指明发生变化的图层, property 属性是代表变化属性的关键字(name, order, opacity, params, visibility or attribution)。
  • movestart drag,pan或zoom操作开始时会触发该事件。
  • move drag,pan或zoom操作开始后被触发。
  • moveend drag,pan或zoom操作完成时被触发。
  • zoomend zoom操作完成后被触发。
  • mouseover 鼠标移至地图时被触发。
  • mouseout 鼠标移出地图时被触发。
  • mousemove 鼠标在地图上移动时被触发。
  • mouseup 鼠标在地图上释放时被触发。
  • click 鼠标在地图上单击时被触发。
  • changebaselayer 改变基础图层时触发事件。

Properties

events

{SuperMap.Events} 事件对象,负责触发地图上的所有事件。

allOverlays

{Boolean} 地图所有图层都被当做叠加图层来使用,默认是false。如果设置为 true,则图层相互叠加, 最先绘制的图层可以被视为是底图(显示效果上的底图,但其isBaseLayer为false); 而且所有将要添加的图层的”isBaseLayer”属性在添加的时候都会被默认修改成false。。

提示

如果将map.allOverlays设置为true,则不能设置map.setBaseLayer 或者layer.setIsBaseLayer。当设置了allOverlays属性为true时,位于显示索引最 下边的图层会被当做”base layer”,所以,如果想要更改”base layer”,使用 setLayerIndex 或者 raiseLayer 将图层的index设置为0。

div

{DOMElement|String} 装载地图的DOM元素(或一个元素的id值),如果 调用 SuperMap.Map 构造函数的时候传递两个参数,它将作为第一 个参数。此外,构造函数也能够只接收选项(options)对象作为唯一的参 数,这种情况下,div属性可能会也可能不会被提供。如果div属性没有 被提供,稍后可以使用 render 方法指定地图渲染的地方。

提示: 如果在地图定义以后使用 render 来指定渲染位置,不要将 maxResolution 属性设置为auto,而是使用 maxExtent 指定你所期望的最大范围。

layers

{Array(SuperMap.Layer)} 地图上图层的有序列表。

popups

{Array(SuperMap.Popup)} 地图上的弹窗列表。

baseLayer

{SuperMap.Layer} 用来确定min/max zoom level、projection等属性。

tileSize

{SuperMap.Size} 在地图选项中被设置,用来设置地图上默认瓦片尺寸。

projection

{String} 在地图选项中被设置,用来指定地图添加图层的默认投影。同时 也可以选择设置maxExtent、 maxResolution、 和 units等属性。该项 默认值是”EPSG:4326”。

units

{String} 地图的单位。默认是’degrees’。可选值为’degrees’(或者 ‘dd’), ‘m’,’ft’,’km’,’mi’,’inches’。

resolutions

{Array(Float)} 降序排列的地图分辨率数组 (地图上每个像素代表的尺寸) 如果在构造图层时没有设置该属性,可通过比例尺相关的属 性(例如:maxExtent, maxResolution, maxScale等)计算获得。

maxResolution

{Float} 用于地图实例化的时候设置最大分辨率(设置该值可以使地图在分辨率达到某个值的时候无法 再缩小)。当不想将整张地图都展示在通过 tileSize 指定大小的一张瓦 片上的时候设置该值。设置为auto的时候地图会自适应视口大小。

minResolution

{Float} 用于地图实例化的时候设置最小分辨率(设置该值可以使地图在分辨率达到某个值的时候无法 再放大)。

maxScale

{Float} 用于地图实例化的时候设置最大比例(设置该值可以使地图在比例达到某个值的时候无法 再放大)。

minScale

{Float} 用于地图实例化的时候设置最小比例(设置该值可以使地图在比例达到某个值的时候无法 再缩小)。

maxExtent

{SuperMap.Bounds} 用于地图实例化的时候设置地图的最大范围。默认是(-180, -90, 180, 90)。

minExtent

{SuperMap.Bounds} 用于地图实例化的时候设置地图的最小范围。 默认值是null。

restrictedExtent

{SuperMap.Bounds} 限定地图缩放范围。 如果设置了restrictedExtent, 平移将会被限制在指定的边界内。

numZoomLevels

{Integer} 用于地图实例化的时候设置地图缩放级别的数量。默认值16,当需要的时候可以在地图选项中设置 其他的值。

theme

{String} 要加载的主题风格的CSS文件的相对路径。如果想通过直接在页 面添加层叠样式表链接或样式声明来设置样式,那就应该在地图属 性(options)对象中指定为null(例如:{theme: null})。

displayProjection

{SuperMap.Projection} 将投影设置为除EPSG:4326 或 EPSG:900913/EPSG:3857以外的投影,需要proj4js的支持。该投影用 于通过控件(controls)向用户展示数据。如果设置了该属性,它就会 被设置到任何一个在添加到地图上的时候displayProjection属性为null的 控件上。

fallThrough

{Boolean} 用来设置页面元素是否会接收地图触发的事件,默认是 true.

eventListeners

{Object} 如果在构造方法中设置此选项,事件监听对象将注册。

panMethod

{Function} 作用于平移时的动画效果方法,设置为null时,动画平移将关闭。

minZoom

{Number} 地图最小缩放级别。 (自 8.1 新增)

maxZoom

{Number} 地图最大缩放级别。 (自 8.1 新增)

Constructor

SuperMap.Map

实例化 Map 类。

Parameters

div {DOMElement|String} 页面上装载地图的DOM元素,当设置了 div 选项(option)或稍后调用 render 方法时可以省略。
options {Object} 地图的选项设置,如果在此参数中没有对controls进行设置,则默认Navigation、PanZoomBar控件。

Examples

// 在id为map1的页面元素中创建一个map地图对象。
var map = new SuperMap.Map("map1");

var options = {
    maxExtent: new SuperMap.Bounds(-200000, -200000, 200000, 200000),
    maxResolution: 156543,
    units: 'm',
    projection: "EPSG:41001"
};
//在id为map2的页面元素中创建一个map地图对象。
var map = new SuperMap.Map("map2", options);

// 为地图的属性设置div、options参数。
var map = new SuperMap.Map({
    div: "map_id",
    maxExtent: new SuperMap.Bounds(-200000, -200000, 200000, 200000),
    maxResolution: 156543,
    units: 'm',
    projection: "EPSG:41001"
});
// 为地图的属性设置options参数。
var map = new SuperMap.Map({
    maxExtent: new SuperMap.Bounds(-200000, -200000, 200000, 200000),
    maxResolution: 156543,
    units: 'm',
    projection: "EPSG:41001"
});

//用addControls方法为地图添加控件
var map = new SuperMap.Map('map', {controls: []});
map.addControl(new SuperMap.Control.Navigation());

//创建map地图对象,通过设置options参数添加指定控件
var map = new SuperMap.Map('map', {controls: [
              new SuperMap.Control.LayerSwitcher(),
              new SuperMap.Control.ScaleLine(),
              new SuperMap.Control.PanZoomBar(),
              new SuperMap.Control.Navigation()
]});

Functions

render

render: function( div )

在指定的容器中渲染地图。

Parameters

div {String|DOMElement} 指定要渲染地图的DOM元素容器。如果与当前地图 容器不同,则地图视口将会被移动到新的容器。

destroy

destroy:function()

销毁地图 注意,如果从DOM中移除map容器,需要在destroy前执行。

setOptions

setOptions: function( options )

设置地图的options.

Parameters

options {Object} 标记地图的属性。

getTileSize

getTileSize: function()

获取地图瓦片的大小。

Returns

{SuperMap.Size} 返回 SuperMap.Size 对象。

getBy

getBy: function( array,
property,
match )

获取一个对象数组,并通过给定的属性匹配其中的项。

Parameters

array {String} 地图的属性,获取该值能够得到一个数组。
property {String} 通过指定的地图属性获得的数组中每一项都包含的属性。
match {String | Object} 用于匹配属性值的字符串,可以是正则表达式的 文本或对象。此外,正则表达式或包含名称为test方法的任意对象,如果使 用match.test(map[array][i][property])计算返回的是true,那该项即被包 含在返回的数组里边。如果没有找到符合标准的项目,返回的是一个 空字符串。

Returns

{Array} 返回其属性匹配给定条件的项组成的一个数组。

Examples

//以下代码能够获取CLASS_NAME属性值为SuperMap.Control.ScaleLine的控件。
 map.getBy("controls","CLASS_NAME","SuperMap.Control.ScaleLine");

//以下代码能够获得name属性为World的图层。
 map.getBy("layers","name","World");

getLayersBy

getLayersBy: function( property,
match )

获取与给定属性和匹配字符串匹配的图层列表。

Parameter

property {String} 用来匹配的图层属性。
match {String | Object} 匹配字符串,可以使正则表达式的文字或者对象。

Returns

{Array(SuperMap.Layer)} 返回匹配到的图层列表。如果没有匹配到则返回空数组。

getLayersByName

getLayersByName: function( match )

获取根据名称匹配得到的图层列表。

Parameter

match {String | Object} 图层名称,可以使用正则表达式的文字或者对象。

Returns

{Array(SuperMap.Layer)} 根据图层名称匹配得到的图层列表,无匹配时返回空数组。

getLayersByClass

getLayersByClass: function( match )

根据类名获取的图层列表。

Parameter

match {String | Object} 图层类名。匹配字符可以使用正则表达式的文字或者对象.

Returns

{Array(SuperMap.Layer)} 根据类名匹配到的图层列表。如果匹配不到将返回空数组。

getControlsBy

getControlsBy: function( property,
match )

根据给定的属性和匹配字符串匹配到的控件列表。

Parameter

property {String} 用来匹配控件的属性。
match {String | Object} 匹配字符串。可以是正则表达式的文字或者对象。

Returns

{Array(SuperMap.Control)} 根据属性匹配到的控件列表。如果匹配不到将返回空数组。

getControlsByClass

getControlsByClass: function( match )

根据给定类的类名匹配到的控件列表。

Parameter

match {String | Object} 控件的类名。可以是正则表达式的文字或者对象

Returns

{Array(SuperMap.Control)} 返回匹配到的控件列表。如果匹配不到将返回空数组。

getLayer

getLayer: function( id )

根据传入参数id获取图层。

Parameter

id {String} 图层的id属性值。

Returns

{SuperMap.Layer} 返回id对应的图层,若没有匹配到返回null 。

addLayer

addLayer: function ( layer )

向地图中添加指定的单个图层。

Parameters

layer {SuperMap.Layer} 指定向地图中添加的图层。

addLayers

addLayers: function ( layers )

向地图中添加指定的多个图层。

Parameters

layers {Array(SuperMap.Layer)} 指定向地图中添加的多个图层的数组。

removeLayer

removeLayer: function( layer,
setNewBaseLayer )

通过删除可见元素(即layer.div属性)来移除地图上的图层。然后从地图的 图层列表中移除该图层,同时设置图层的map属性为null。

Parameters

layer {SuperMap.Layer} 指定要被移除的图层。
setNewBaseLayer {Boolean} 是否设置新的底图,默认值为true。

getNumLayers

getNumLayers: function ()

获取地图上的图层数量。

Returns

{Int} 返回地图上加载的图层数量的整数值。

getLayerIndex

getLayerIndex: function ( layer )

获取图层在地图上的索引值(索引值从零开始)。

Parameters

layer {SuperMap.Layer} 指定要获取索引值的图层。

Returns

{Integer} 图层在地图上的索引值(索引值从零开始)。如果图层不在地图 上则返回-1。

setLayerIndex

setLayerIndex: function ( layer,
idx )

移动图层到图层列表中的指定索引值(索引值从零开始)的位置。改变 它在地图显示时的z-index值。使用map.getLayerIndex()方法查看图层 当前的索引值。注意该方法不能将底图移动到叠加图层之上。

Parameters

layer {SuperMap.Layer} 要改变索引值的图层。
idx {int} 指定的索引值。

raiseLayer

raiseLayer: function ( layer,
delta )

通过给定的增量值(delta参数)来改变给定图层的索引值。如果增量值为 正,图层就会在图层堆栈中向上移;如果增量值为负,图层就会向下移。 这个方法同样不能将底图移动到叠加图层之上。

Paremeters

layer {SuperMap.Layer} 要移动的图层。
delta {int} 指定移动的增量值。

setBaseLayer

setBaseLayer: function( newBaseLayer )

允许用户指定当前加载的某一图层为地图新的底图。

Parameters

newBaseLayer {SuperMap.Layer} 要被设置成新底图的图层。

addControl

addControl: function ( control,
px )

为地图添加控件。可选的位置参数用来指定控件的像素位置。

Parameters

control {SuperMap.Control} 要添加的控件。
px {SuperMap.Pixel} 控件添加的像素位置。

addControls

addControls: function ( controls,
pixels )

将控件添加到map上。 可以通过options的第二个数组通过像素对象控制控件的位置 两个数组应该匹配,如果pixel设为null,控件会显示在默认位置。

Parameters

controls {Array(SuperMap.Control)} 要添加的控件数组。
pixels {Array(SuperMap.Pixel)} 对应控件的像素位置数组。

getControl

getControl: function ( id )

通过id值获取控件对象。

Parameters

id {String} 要获取的控件的id。

Returns

{SuperMap.Control} 根据id从map上的控件列表中匹配到控件。如果没有找到则返回null。

removeControl

removeControl: function ( control )

移除控件。该方法不会使控件失效,若要使其失效,需调用该控件的deactivate方法。

Parameters

control {SuperMap.Control} 将被移除的控件。

addPopup

addPopup: function( popup,
exclusive )

在地图中添加弹出窗口。

Parameters

popup {SuperMap.Popup} 要添加的弹出窗口。
exclusive {Boolean} 如果设为true,则首先关闭所有其他弹出窗口。

removePopup

removePopup: function( popup )

移除指定的弹出窗口。

Parameters

popup {SuperMap.Popup} 将删除的弹出窗口对象。

removeAllPopup

removeAllPopup:function ()

移除所有弹出窗口。

getSize

getSize: function ()

获取当前地图容器大小。

Returns

{SuperMap.Size} 返回加载当前地图的容器 Div 的大小size,以像素为单位。注意:返回的对象是本地Size 对象的副本,意味着不允许用户修改。

updateSize

updateSize: function()

通过动态调用updateSize()方式,来改变地图容器的大小。

getCenter

getCenter: function ()

获取当前地图的中心点坐标。

Returns

{SuperMap.LonLat} 返回 SuperMap.LonLat 对象。

getZoom

getZoom: function ()

获取当前地图的缩放比例级别。

Returns

{Integer} 返回代表当前地图缩放级别的整数值。

pan

pan: function( dx,
dy,
options )

根据指定的屏幕像素值平移地图

Parameters

dx {Integer} 屏幕的x像素位置。
dy {integer} 屏幕的y像素位置。
options {Object} 平移的可选参数。 animate {Boolean} 平移过程是否使用动画。默认为true。 dragging {Boolean} 设置为true时调用setCenter()方法。默认为false。

panTo

panTo: function( lonlat )

平移地图到新的位置 如果新的位置在地图的当前范围内,地图将平滑地移动。

Parameters

lonlat {SuperMap.LonLat} 要移动到的新位置。

setCenter

setCenter: function( lonlat,
zoom,
dragging,
forceZoomChange )

设置地图中心点。

Parameters

lonlat {SuperMap.LonLat} 要设置的中心点。
zoom {Integer} 缩放级别。
dragging {Boolean} 指定是否触发 movestart/end 事件。
forceZoomChange {Boolean} 指定是否触发zoomchange事件,依赖于baseLayer的变化。

getProjection

getProjection: function()

该方法返回代表投影的字符串。

Returns

{String} 来源于baseLayer的投影字符串或者是null。

getProjectionObject

getProjectionObject: function()

返回baseLayer的投影。

Returns

{SuperMap.Projection} baseLayer的投影。

getMaxResolution

getMaxResolution: function()

返回baseLayer最大的分辨率。

Returns

{SuperMap.Projection} baseLayer的最大的分辨率。

getMaxExtent

getMaxExtent: function ( options )

获取地图的最大范围。

Parameters

options {Object} 选项对象。

Allowed Options

restricted {Boolean} 如果将该选项设置为true,返回的就是restrictedExtent 对应的范围(前提是设置了该限制范围)。

Returns

{<Supermap.Bounds>} 返回当前底图的maxExtent(最大范围)属性对应 的范围,如果在选项(options)对象中设置了‘restricted’选项,返回的就 是restrictedExtent对应的范围(前提是设置了该限制范围)。

getNumZoomLevels

getNumZoomLevels: function()

获取当前底图的缩放级别总数,在底图存在的情况下与底图缩放级别(numZoomLevels) 相同

Returns

{Integer} 当前底图能够展示的所有缩放级别的总个数。

getExtent

getExtent: function ()

获取当前地图的范围。

Returns

{SuperMap.Bounds} 当前地图的范围,如果baseLayer未设置,则返回null。

getResolution

getResolution: function ()

获取当前地图的分辨率。

Returns

{Float} 当前地图的分别率, 如果baseLayer未设置,则返回null。

getUnits

getUnits: function ()

获取地图的当前单位。

Returns

{String} 地图的当前单位,没有底图的情况下返回的是null。

getScale

getScale: function ()

获取当前地图的缩放比例。

Returns

{Float} 当前地图的缩放比例。如果baseLayer未设置,则返回null。

getZoomForExtent

getZoomForExtent: function ( bounds,
closest )

通过给定的范围获取比例级别。

Parameters

bounds {SuperMap.Bounds} 指定要获取对应比例级别的范围。
closest {Boolean} 是否找到最符合指定范围的比例级别。注意这样可能会 导致返回的级别不完全包含指定范围。默认值是false。

Returns

{Integer} 适应给定范围的缩放级别。如果底图没有设置,返回null。

getResolutionForZoom

getResolutionForZoom: function( zoom )

根据缩放级别获取对应分辨率。

Parameters

zoom {Float} 指定要获取对应分辨率的缩放级别。

Returns

{Float} 根据指定缩放级别获取的相对应的分辨率。如果没有设置底图,返回null。

getZoomForResolution

getZoomForResolution: function( resolution,
closest )

根据分辨率获取对应缩放级别。

Parameters

resolution {Float} 指定要获取对应缩放级别的分辨率。
closest {Boolean} 是否通过分辨率的精确值类获取缩放级别。设置为true 的时候根据分辨率获得的比例级别实际上会小于我们想要的,默认值 为false。

Returns

{Integer} 根据指定分辨率获取的相对应的缩放级别。如果没有设置底图,返回null。

zoomTo

zoomTo: function( zoom )

缩放到指定的级别。

Parameters

zoom {Integer} 指定缩放级别的整数值。

zoomIn

zoomIn: function()

在当前缩放级别的基础上放大一级。

zoomOut

zoomOut: function()

在当前缩放级别的基础上缩小一级。

zoomToExtent

zoomToExtent: function( bounds,
closest )

缩放到指定范围,重新定位中心点。

Parameters

bounds {SuperMap.Bounds} 要缩放到的指定范围。
closest {Boolean} 是否找到最符合指定范围的比例级别。注意这样可能会 导致返回的级别不完全包含指定范围。默认值是false。

zoomToMaxExtent

zoomToMaxExtent: function( options )

缩放到最大范围,并重新定位中心点。

Parameters

options {Object} 选项对象参数。

Allowed Options

restricted {Boolean} 设置为true就会缩放到 restrictedExtent (限定范围), 前提是地图设置了restrictedExtent属性。默认值为true。

zoomToScale

zoomToScale: function( scale,
closest )

缩放到指定的比例

Parameters

scale {float} 指定要缩放到得比例级别。
closest {Boolean} 查找与指定比例尺最接近的缩放级别(zoomLevel) 默认为 false。

getViewPortPxFromLonLat

getViewPortPxFromLonLat: function ( lonlat )

根据指定地理位置,返回其相对于当前地图窗口左上角的像素位置。

Parameters

lonlat {SuperMap.LonLat} 地理位置坐标。

Returns

{SuperMap.Pixel} 返回指定地理位置相对于地图窗口左上角的像素坐标。

getLonLatFromPixel

getLonLatFromPixel: function ( px )

根据相对于地图窗口左上角的像素位置,返回其在地图上的地理位置。依据当前baselayer转换成 lon/lat (经度/纬度)形式。

Parameters

px {SuperMap.Pixel}

Returns

{SuperMap.LonLat} 指定地图窗口像素坐标所对应的地理位置LonLat对象。

getPixelFromLonLat

getPixelFromLonLat: function ( lonlat )

获取地图上的像素坐标。依照当前baselayer,将指定的地理点位置坐标, 转换成其相对于地图窗口左上角点的像素坐标。

Parameters

lonlat {SuperMap.LonLat} 地图位置。

Returns

{SuperMap.Pixel} 返回视图窗口像素坐标位置, 此坐标是根据当前地图的经纬度坐标转换成的视图窗口像素点坐标。

getViewPortPxFromLayerPx

getViewPortPxFromLayerPx:function( layerPx )

根据图层像素点坐标获取视图窗口像素点坐标。

Parameters

layerPx {SuperMap.Pixel}

Returns

{SuperMap.Pixel} 将图层像素点转换成视图窗口像素点坐标。

getLayerPxFromViewPortPx

getLayerPxFromViewPortPx:function( viewPortPx )

根据视图窗口像素点坐标获取图层像素点坐标。

Parameters

viewPortPx {SuperMap.Pixel}

Returns

{SuperMap.Pixel} 视图窗口像素点坐标转换成图层像素点坐标。

getLayerPxFromLonLat

getLayerPxFromLonLat: function ( lonlat )

根据传入的大地坐标获取图层坐标对象。

Parameters

lonlat {SuperMap.LonLat} 坐标点参数。

Returns

{SuperMap.Pixel} 通过传进的LonLat对象返回气相对于图层的坐标Pixel对象。

Constants

TILE_WIDTH

{Integer} 瓦片默认宽度 256。

TILE_HEIGHT

{Integer} 瓦片默认高度 256。

实例化 Map 类。
render: function( div )
在指定的容器中渲染地图。
图层类。
弹窗类。
此类描绘一对高宽值的实例。
{SuperMap.Size} 在地图选项中被设置,用来设置地图上默认瓦片尺寸。
表示边界类实例。使用bounds之前需要设置left,bottom, right, top四个属性,这些属性的初始值为null。
坐标转换类。这个类封装了与 proj4js 投影对象进行交互的几种方法。
destroy:function()
销毁地图 注意,如果从DOM中移除map容器,需要在destroy前执行。
setOptions: function( options )
设置地图的options.
getTileSize: function()
获取地图瓦片的大小。
getBy: function( array,
property,
match )
获取一个对象数组,并通过给定的属性匹配其中的项。
getLayersBy: function( property,
match )
获取与给定属性和匹配字符串匹配的图层列表。
getLayersByName: function( match )
获取根据名称匹配得到的图层列表。
getLayersByClass: function( match )
根据类名获取的图层列表。
getControlsBy: function( property,
match )
根据给定的属性和匹配字符串匹配到的控件列表。
getControlsByClass: function( match )
根据给定类的类名匹配到的控件列表。
getLayer: function( id )
根据传入参数id获取图层。
addLayer: function ( layer )
向地图中添加指定的单个图层。
addLayers: function ( layers )
向地图中添加指定的多个图层。
removeLayer: function( layer,
setNewBaseLayer )
通过删除可见元素(即layer.div属性)来移除地图上的图层。然后从地图的 图层列表中移除该图层,同时设置图层的map属性为null。
getNumLayers: function ()
获取地图上的图层数量。
getLayerIndex: function ( layer )
获取图层在地图上的索引值(索引值从零开始)。
setLayerIndex: function ( layer,
idx )
移动图层到图层列表中的指定索引值(索引值从零开始)的位置。改变 它在地图显示时的z-index值。使用map.getLayerIndex()方法查看图层 当前的索引值。注意该方法不能将底图移动到叠加图层之上。
raiseLayer: function ( layer,
delta )
通过给定的增量值(delta参数)来改变给定图层的索引值。如果增量值为 正,图层就会在图层堆栈中向上移;如果增量值为负,图层就会向下移。 这个方法同样不能将底图移动到叠加图层之上。
setBaseLayer: function( newBaseLayer )
允许用户指定当前加载的某一图层为地图新的底图。
addControl: function ( control,
px )
为地图添加控件。可选的位置参数用来指定控件的像素位置。
addControls: function ( controls,
pixels )
将控件添加到map上。 可以通过options的第二个数组通过像素对象控制控件的位置 两个数组应该匹配,如果pixel设为null,控件会显示在默认位置。
getControl: function ( id )
通过id值获取控件对象。
removeControl: function ( control )
移除控件。该方法不会使控件失效,若要使其失效,需调用该控件的deactivate方法。
addPopup: function( popup,
exclusive )
在地图中添加弹出窗口。
removePopup: function( popup )
移除指定的弹出窗口。
removeAllPopup:function ()
移除所有弹出窗口。
getSize: function ()
获取当前地图容器大小。
updateSize: function()
通过动态调用updateSize()方式,来改变地图容器的大小。
getCenter: function ()
获取当前地图的中心点坐标。
getZoom: function ()
获取当前地图的缩放比例级别。
pan: function( dx,
dy,
options )
根据指定的屏幕像素值平移地图
panTo: function( lonlat )
平移地图到新的位置 如果新的位置在地图的当前范围内,地图将平滑地移动。
setCenter: function( lonlat,
zoom,
dragging,
forceZoomChange )
设置地图中心点。
getProjection: function()
该方法返回代表投影的字符串。
getProjectionObject: function()
返回baseLayer的投影。
getMaxResolution: function()
返回baseLayer最大的分辨率。
getMaxExtent: function ( options )
获取地图的最大范围。
getNumZoomLevels: function()
获取当前底图的缩放级别总数,在底图存在的情况下与底图缩放级别(numZoomLevels) 相同
getExtent: function ()
获取当前地图的范围。
getResolution: function ()
获取当前地图的分辨率。
getUnits: function ()
获取地图的当前单位。
getScale: function ()
获取当前地图的缩放比例。
getZoomForExtent: function ( bounds,
closest )
通过给定的范围获取比例级别。
getResolutionForZoom: function( zoom )
根据缩放级别获取对应分辨率。
getZoomForResolution: function( resolution,
closest )
根据分辨率获取对应缩放级别。
zoomTo: function( zoom )
缩放到指定的级别。
zoomIn: function()
在当前缩放级别的基础上放大一级。
zoomOut: function()
在当前缩放级别的基础上缩小一级。
zoomToExtent: function( bounds,
closest )
缩放到指定范围,重新定位中心点。
zoomToMaxExtent: function( options )
缩放到最大范围,并重新定位中心点。
zoomToScale: function( scale,
closest )
缩放到指定的比例
getViewPortPxFromLonLat: function ( lonlat )
根据指定地理位置,返回其相对于当前地图窗口左上角的像素位置。
getLonLatFromPixel: function ( px )
根据相对于地图窗口左上角的像素位置,返回其在地图上的地理位置。依据当前baselayer转换成 lon/lat (经度/纬度)形式。
getPixelFromLonLat: function ( lonlat )
获取地图上的像素坐标。依照当前baselayer,将指定的地理点位置坐标, 转换成其相对于地图窗口左上角点的像素坐标。
getViewPortPxFromLayerPx:function( layerPx )
根据图层像素点坐标获取视图窗口像素点坐标。
getLayerPxFromViewPortPx:function( viewPortPx )
根据视图窗口像素点坐标获取图层像素点坐标。
getLayerPxFromLonLat: function ( lonlat )
根据传入的大地坐标获取图层坐标对象。
此类用x,y坐标描绘屏幕坐标(像素点)。
{Float} 用于地图实例化的时候设置最大分辨率(设置该值可以使地图在分辨率达到某个值的时候无法 再缩小)。当不想将整张地图都展示在通过 tileSize 指定大小的一张瓦 片上的时候设置该值。设置为auto的时候地图会自适应视口大小。
{SuperMap.Bounds} 用于地图实例化的时候设置地图的最大范围。默认是(-180, -90, 180, 90)。
{DOMElement|String} 装载地图的DOM元素(或一个元素的id值),如果 调用 SuperMap.Map 构造函数的时候传递两个参数,它将作为第一 个参数。此外,构造函数也能够只接收选项(options)对象作为唯一的参 数,这种情况下,div属性可能会也可能不会被提供。如果div属性没有 被提供,稍后可以使用 render 方法指定地图渲染的地方。
控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 Control 事件的事件处理器 Handler,内部封装了一系列的浏览器事件, 在控件(control)实现过程中可调用Handler,通过 active和 deactive两个方法,实现动态的激活和注销。
这个类用来表示经度和纬度对。
{SuperMap.Bounds} 限定地图缩放范围。 如果设置了restrictedExtent, 平移将会被限制在指定的边界内。
Close