如果你对JVectorMap不太了解,请先阅读《开源JS地图插件JVectorMap介绍》。WorldMap非常重要的类,它可以创建地图、画路径、绑定事件。
WorldMap构造方法参数
名称 | 类型 | 描述 |
---|---|---|
map | String | 地图数据的名称。格式一般为:territory_proj_lang ,territory 为 ISO 3166 标准定义的国家代码,proj 为投影名称,lang 为国家或地区语言。 |
backgroundColor | String | 地图背景色。 |
zoomOnScroll | Boolean | 如果为true可以使用鼠标滚动缩放,默认为true。 |
zoomMax | Number | 表示地图可以缩放的最大比例,默认为8。 |
zoomMin | Number | 表示地图可以缩放的最小比例,默认为1。 |
zoomStep | Number | 表示使用+ / -按钮缩放地图的倍数,默认是1.6。 |
regionsSelectable | Boolean | 如果设置为true,区域可以被选择,默认为false。 |
regionsSelectableOne | Boolean | 同时只可以选择一个区域,默认为false。 |
markersSelectable | Boolean | 标记是否可选,默认为false; |
markersSelectableOne | Boolean | 同时只可以选择一个标记,默认为false。 |
regionStyle | Object | 为地图区域设置样式。每个区域或者标记有四种状态:initial (默认状态), hover (鼠标经过区域或者标记时), selected (区域或标记被选择时), selectedHover (区域或标记被选择时鼠标经过)。每个状态都可以设置样式,默认参数值为:{initial:{fill:'white',"fill-opacity":1,stroke:'none',"stroke-width":0,"stroke-opacity":1},hover:{"fill-opacity":0.8},selected:{fill:'yellow'},selectedHover:{}} |
markerStyle | Object | 给标记设置样式。其中r代表圆的半径,默认参数值为: {initial:{fill:'grey',stroke:'#505050',"fill-opacity":1,"stroke-width":1,"stroke-opacity":1,r:5},hover:{stroke:'black',"stroke-width":2},selected:{fill:'blue'},selectedHover:{}} |
markers | Object | Array | 地图初始化时设置标记。如果值为数组,标记的codes将会使用数组索引作为字符串表示。一般每组标记都会包含latLng (数字数组,纬经度), name (标记上现实的名字) 和样式内容。 |
series | Object | 这个对象包含 markers 和 regions 键值,请参看DataSeries。 |
focusOn | Object | String | 这个参数用来设置地图viewport 的初始position 和 scale 。例如设置焦点为地图中心并且放大2倍可以使用下面的值:{x: 0.5,y: 0.5,scale: 2} |
selectedRegions | Array | Object | String | 设置初始选择区域 |
selectedMarkers | Array | Object | String | 设置初始选择标记 |
onRegionLabelShow | Function | (Event e, Object label, String code)将在区域标签将被显示前调用。 |
onRegionOver | Function | (Event e, String code)鼠标悬停在区域标签上方时调用。 |
onRegionOut | Function | (Event e, String code)鼠标从在区域标签移走时调用。 |
onRegionClick | Function | (Event e, String code)将在区域标签将被点击时调用。 |
onRegionSelected | Function | (Event e, String code, Boolean isSelected, Array selectedRegions) 区域被选择时调用。回调方法里面的参数isSelected 表示区域是否被选择。参数selectedRegions 被选择区域的代码。 |
onMarkerLabelShow | Function | (Event e, Object label, String code) 标记被展示前调用。 |
onMarkerOver | Function | (Event e, String code)鼠标在标记上面悬停时触发。 |
onMarkerOut | Function | (Event e, String code)鼠标从标记上方移出时触发。 |
onMarkerClick | Function | (Event e, String code)点击标记时触发。 |
onMarkerSelected | Function | (Event e, String code, Boolean isSelected, Array selectedMarkers) 标记被选择时触发。回调方法里面的参数isSelected 表示区域是否被选择。参数selectedRegions 被选择区域的代码。 |
onViewportChange | Function | (Event e, Number scale)地图的窗口改变时触发(地图移动或缩放视图)。 |
WorldMap提供的方法
-
addMarker
向地图中添加一个标记。
名称 | 类型 | 描述 |
---|---|---|
key | String | 标记的唯一Code。 |
marker | Object | 标记的配置参数。 |
seriesData | Array | 向数据序列增加的值。 |
-
addMarkers
向地图中添加一个或者多个标记。
名称 | 类型 | 描述 |
---|---|---|
markers | Object | Array | 向地图增加的标记列表。 |
seriesData | Array | 向数据序列中增加的值。 |
-
clearSelectedMarkers
将当前选择状态的标记置为未选择状态。
-
clearSelectedRegions
将当前选择状态的区域置为未选择状态。
-
getMapObject
返回WorldMap实例。作为jQuery插件被实例化非常有用,返回类型为WorldMap。
-
getRegionName
根据区域code返回名称。返回类型为String。
-
getSelectedMarkers
返回被选择的标记。类型为Array。
-
getSelectedRegions
返回被选择的区域。类型为Array。
-
latLngToPoint
将经纬度坐标转化为像素坐标。
名称 | 类型 | 描述 |
---|---|---|
lat | Number | 点的纬度坐标值。 |
lng | Number | 点的经度坐标值。 |
-
pointToLatLng
将笛卡尔坐标转化为经纬度坐标。
名称 | 类型 | 描述 |
---|---|---|
x | Number | 地图中点的X坐标值。 |
y | Number | 地图中点的Y坐标值。 |
-
remove
删除地图以及绑定的事件。
-
removeAllMarkers
从地图中删除所有标记。
-
removeMarkers
从地图中删除指定的标记。
名称 | 类别 | 描述 |
---|---|---|
markers | Array | 将要被移出的标记code列表。 |
-
reset
重置地图为初始化状态。
-
setBackgroundColor
设置地图的背景色。
名称 | 类型 | 描述 |
---|---|---|
backgroundColor | String | CSS格式的背景颜色值。 |
-
setFocus
设置地图视窗为指定的点以及指定缩放级别。点和缩放级别有两种定义方式:将一些区域的code设置为焦点或者一个中心点和级别设置为数字。
名称 | 类型 | 描述 |
---|---|---|
scale|regionCode|regionCodes | Number | String | Array | 如果方法中的第一个参数是字符串或者数组,则为区域代码列表,视图中将会展示这些区域。否则第一个参数为数字,视图将会被设置为提供的scale。 |
centerX | Number | 视图中心点水平坐标,值范围(0-1)。 |
centerY | Number | 视图中心点垂直坐标,值范围(0-1)。 |
-
setSelectedMarkers
设置或者移除标记的选择状态。
名称 | 类型 | 描述 |
---|---|---|
keys | String | Array | Object | 如果为数组或者字符串,这些值代表的标记将会被选择。如果为对象,其键值代表标记的code,状态会被改变。选择状态将会被置为ture,否则将会移除。 |
-
setSelectedRegions
设置或者移除区域的选择状态。
名称 | 类型 | 描述 |
---|---|---|
keys | String | Array | Object | 如果为数组或者字符串,这些值代表的区域将会被选择。如果为对象,其键值代表区域的code,状态会被改变。选择状态将会被置为ture,否则将会移除。 |
-
setSize
将地图和容器大小设置为一致。