JVectorMap API之WorldMap

如果你对JVectorMap不太了解,请先阅读《开源JS地图插件JVectorMap介绍》。WorldMap非常重要的类,它可以创建地图、画路径、绑定事件。

WorldMap构造方法参数

名称类型描述
mapString地图数据的名称。格式一般为:territory_proj_langterritoryISO 3166 标准定义的国家代码,proj 为投影名称,lang为国家或地区语言。
backgroundColorString地图背景色。
zoomOnScrollBoolean如果为true可以使用鼠标滚动缩放,默认为true。
zoomMaxNumber表示地图可以缩放的最大比例,默认为8。
zoomMinNumber表示地图可以缩放的最小比例,默认为1。
zoomStepNumber表示使用+ / -按钮缩放地图的倍数,默认是1.6。
regionsSelectableBoolean如果设置为true,区域可以被选择,默认为false。
regionsSelectableOneBoolean同时只可以选择一个区域,默认为false。
markersSelectableBoolean标记是否可选,默认为false;
markersSelectableOneBoolean同时只可以选择一个标记,默认为false。
regionStyleObject为地图区域设置样式。每个区域或者标记有四种状态: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:{}}
markerStyleObject给标记设置样式。其中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:{}}
markersObject | Array地图初始化时设置标记。如果值为数组,标记的codes将会使用数组索引作为字符串表示。一般每组标记都会包含latLng (数字数组,纬经度), name (标记上现实的名字) 和样式内容。
seriesObject这个对象包含 markersregions 键值,请参看DataSeries
focusOnObject | String这个参数用来设置地图viewport的初始positionscale。例如设置焦点为地图中心并且放大2倍可以使用下面的值:
{x: 0.5,y: 0.5,scale: 2}
selectedRegionsArray | Object | String设置初始选择区域
selectedMarkersArray | Object | String设置初始选择标记
onRegionLabelShowFunction(Event e, Object label, String code)将在区域标签将被显示前调用。
onRegionOverFunction(Event e, String code)鼠标悬停在区域标签上方时调用。
onRegionOutFunction(Event e, String code)鼠标从在区域标签移走时调用。
onRegionClickFunction(Event e, String code)将在区域标签将被点击时调用。
onRegionSelectedFunction(Event e, String code, Boolean isSelected, Array selectedRegions) 区域被选择时调用。回调方法里面的参数isSelected表示区域是否被选择。参数selectedRegions被选择区域的代码。
onMarkerLabelShowFunction(Event e, Object label, String code) 标记被展示前调用。
onMarkerOverFunction(Event e, String code)鼠标在标记上面悬停时触发。
onMarkerOutFunction(Event e, String code)鼠标从标记上方移出时触发。
onMarkerClickFunction(Event e, String code)点击标记时触发。
onMarkerSelectedFunction(Event e, String code, Boolean isSelected, Array selectedMarkers) 标记被选择时触发。回调方法里面的参数isSelected表示区域是否被选择。参数selectedRegions被选择区域的代码。
onViewportChangeFunction(Event e, Number scale)地图的窗口改变时触发(地图移动或缩放视图)。

WorldMap提供的方法

  • addMarker

向地图中添加一个标记。

名称类型描述
keyString标记的唯一Code。
markerObject标记的配置参数。
seriesDataArray向数据序列增加的值。
  • addMarkers

向地图中添加一个或者多个标记。

名称类型描述
markersObject | Array向地图增加的标记列表。
seriesDataArray向数据序列中增加的值。
  • clearSelectedMarkers

将当前选择状态的标记置为未选择状态。

  • clearSelectedRegions

将当前选择状态的区域置为未选择状态。

  • getMapObject

返回WorldMap实例。作为jQuery插件被实例化非常有用,返回类型为WorldMap。

  • getRegionName

根据区域code返回名称。返回类型为String。

  • getSelectedMarkers

返回被选择的标记。类型为Array。

  • getSelectedRegions

返回被选择的区域。类型为Array。

  • latLngToPoint

将经纬度坐标转化为像素坐标。

名称类型描述
latNumber点的纬度坐标值。
lngNumber点的经度坐标值。
  • pointToLatLng

将笛卡尔坐标转化为经纬度坐标。

名称类型描述
xNumber地图中点的X坐标值。
yNumber地图中点的Y坐标值。
  • remove

删除地图以及绑定的事件。

  • removeAllMarkers

从地图中删除所有标记。

  • removeMarkers

从地图中删除指定的标记。

名称类别描述
markersArray将要被移出的标记code列表。
  • reset

重置地图为初始化状态。

  • setBackgroundColor

设置地图的背景色。

名称类型描述
backgroundColorStringCSS格式的背景颜色值。
  • setFocus

设置地图视窗为指定的点以及指定缩放级别。点和缩放级别有两种定义方式:将一些区域的code设置为焦点或者一个中心点和级别设置为数字。

名称类型描述
scale|regionCode|regionCodesNumber | String | Array如果方法中的第一个参数是字符串或者数组,则为区域代码列表,视图中将会展示这些区域。否则第一个参数为数字,视图将会被设置为提供的scale。
centerXNumber视图中心点水平坐标,值范围(0-1)。
centerYNumber视图中心点垂直坐标,值范围(0-1)。
  • setSelectedMarkers

设置或者移除标记的选择状态。

名称类型描述
keysString | Array | Object如果为数组或者字符串,这些值代表的标记将会被选择。如果为对象,其键值代表标记的code,状态会被改变。选择状态将会被置为ture,否则将会移除。
  • setSelectedRegions

设置或者移除区域的选择状态。

名称类型描述
keysString | Array | Object如果为数组或者字符串,这些值代表的区域将会被选择。如果为对象,其键值代表区域的code,状态会被改变。选择状态将会被置为ture,否则将会移除。
  • setSize

将地图和容器大小设置为一致。

 

发表评论