开源JS地图插件JVectorMap介绍

jvectormap

JVectorMap是一款优秀的Javascript地图插件。它几乎能够兼容市面上所有主流浏览器,包含移动端浏览器。同时它还提供的地图转化器,可以把shapefile数据文件转化为JVectorMap使用的地图数据。

JVectorMap的功能特点

  • 基于Javascript开发

JVectorMap使用到的有JavascriptHTMLCSSSVG或者VML,市面上主流浏览器都会支持这些技术,因此使用它描绘地图无需单独安装插件。 (更多…)

继续阅读

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)地图的窗口改变时触发(地图移动或缩放视图)。
(更多…)

继续阅读

JVectorMap API之DataSeries

如果你对JVectorMap不太了解,请先阅读《开源JS地图插件JVectorMap介绍》。DataSeries也就是数据序列,它主要包含了标记(markers)和区域(regions)信息内容。

DataSeries构造参数

params为构造数据序列的参数,类型为对象,其内部属性信息如下:

名称类型描述
valuesArray设置可视化数据
attributeString表示可视化数据数字或者颜色属性,内容通常为:1,标记(markers)和区域(regions)共有属性:fill, stroke, fill-opacity, stroke-opacity;2,仅限于标记(markers)属性:r (radius)。
scaleArray用来表示不同范围的数据表现方式,不同范围数据将会有不同颜色。其中第一个代表数值最小的颜色,依次推断,最后一个代表数值最大的颜色。默认为['#C8EEFF', '#0071A4']
normalizeFunctionFunction|String这个参数可能是方法或者字符串。如果是字符串会有两个值:linear 或者 polynomial,默认为linear。如果是方法则表示用来映射输入数据到提供的scale数据。
minNumber数据集的最小值。如果没有提供,将会自动运算。
maxNumber数据集的最大值。如果没有提供,将会自动运算。
(更多…)

继续阅读