最近在用FusionMaps来制作地图。FusionMaps是通过XML配置文档来设置表现形式,包括颜色,字体等。也是通过XML配置文档设置FusionMaps的一些功能。
一个标准的XML文档:
<
map
animation
=
'0'
showShadow
=
'0'
showBevel
=
'0'
showLabels
=
'0'
showMarkerLabels
=
'1'
fillColor
=
'F1f1f1'
borderColor
=
'CCCCCC'
baseFont
=
'Verdana'
baseFontSize
=
'10'
markerBorderColor
=
'000000'
markerBgColor
=
'FF5904'
markerRadius
=
'6'
legendPosition
=
'bottom'
useHoverColor
=
'0'
showToolTip
=
'0'
showMarkerToolTip
=
'1'
>
<
data
>
<
entity
id
=
'NA'
/>
<
entity
id
=
'SA'
/>
<
entity
id
=
'EU'
/>
<
entity
id
=
'AS'
/>
<
entity
id
=
'AF'
/>
<
entity
id
=
'AU'
/>
</
data
>
<
markers
>
<
definition
>
<
marker
id
=
'CA'
x
=
'116.65'
y
=
'94.85'
label
=
'Sales Office'
labelPos
=
'top'
/>
<
marker
id
=
'US'
x
=
'131.57'
y
=
'133.22'
label
=
'Headquarters'
labelPos
=
'bottom'
/>
<
marker
id
=
'CN'
x
=
'532.3'
y
=
'150.68'
label
=
'Call Center'
labelPos
=
'bottom'
/>
<
marker
id
=
'BR'
x
=
'228.55'
y
=
'276.03'
label
=
'Production Center'
labelPos
=
'bottom'
/>
<
marker
id
=
'AU'
x
=
'621.83'
y
=
'311.21'
label
=
'Q & A'
labelPos
=
'bottom'
/>
<
marker
id
=
'RU'
x
=
'532.3'
y
=
'76.73'
label
=
'Back Office'
labelPos
=
'bottom'
/>
<
marker
id
=
'IN'
x
=
'499.26'
y
=
'202.5'
label
=
'Accounts'
labelPos
=
'bottom'
/>
</
definition
>
<
shapes
>
<
shape
id
=
'USMap'
type
=
'image'
url
=
'Resources/us_flag.jpg'
labelPadding
=
'12'
/>
<
shape
id
=
'CAMap'
type
=
'image'
url
=
'Resources/canada_flag.jpg'
labelPadding
=
'12'
/>
<
shape
id
=
'CNMap'
type
=
'image'
url
=
'Resources/china_flag.jpg'
labelPadding
=
'12'
/>
<
shape
id
=
'BRMap'
type
=
'image'
url
=
'Resources/brazil_flag.jpg'
labelPadding
=
'12'
/>
<
shape
id
=
'AUMap'
type
=
'image'
url
=
'Resources/aus_flag.jpg'
labelPadding
=
'12'
/>
<
shape
id
=
'RUMap'
type
=
'image'
url
=
'Resources/rus_flag.jpg'
labelPadding
=
'12'
/>
<
shape
id
=
'INMap'
type
=
'image'
url
=
'Resources/ind_flag.jpg'
labelPadding
=
'12'
/>
</
shapes
>
<
application
>
<
marker
id
=
'CA'
shapeId
=
'CAMap'
toolText
=
'Canada<BR>2 Managers<BR>11 Staff'
/>
<
marker
id
=
'US'
shapeId
=
'USMap'
toolText
=
'United States<BR>CEO, CFO, 3 Managers<BR>26 Staff'
/>
<
marker
id
=
'CN'
shapeId
=
'CNMap'
toolText
=
'China<BR>1 Manager<BR>7 Support Staff'
/>
<
marker
id
=
'BR'
shapeId
=
'BRMap'
toolText
=
'Brazil<BR>COO, 2 Managers<BR>32 Factory Staff'
/>
<
marker
id
=
'AU'
shapeId
=
'AUMap'
toolText
=
'Australia<BR>1 Manager<BR>(Outsourced Agency)'
/>
<
marker
id
=
'RU'
shapeId
=
'RUMap'
toolText
=
'Russia<BR>1 Manager<BR>6 Staff'
/>
<
marker
id
=
'IN'
shapeId
=
'INMap'
toolText
=
'India<BR>1 Manager<BR>5 Accountants'
/>
</
application
>
</
markers
>
<
styles
>
<
definition
>
<
style
name
=
'TTipFont'
type
=
'font'
isHTML
=
'1'
color
=
'FFFFFF'
bgColor
=
'666666'
size
=
'11'
/>
<
style
name
=
'HTMLFont'
type
=
'font'
color
=
'333333'
borderColor
=
'CCCCCC'
bgColor
=
'FFFFFF'
/>
<
style
name
=
'myShadow'
type
=
'Shadow'
distance
=
'1'
/>
</
definition
>
<
application
>
<
apply
toObject
=
'MARKERS'
styles
=
'myShadow'
/>
<
apply
toObject
=
'MARKERLABELS'
styles
=
'HTMLFont,myShadow'
/>
<
apply
toObject
=
'TOOLTIP'
styles
=
'TTipFont'
/>
</
application
>
</
styles
>
</
map
>
|
一、<map>元素的功能性属性:
Attribute Name | Type | Range | Description |
animation | Boolean | 0/1 | 是否让地图支持动态效果,默认的动画为淡入。 设置0为否,1为是。 |
showLabels | Boolean | 0/1 | 是否显示实体的labels。 |
includeNameInLabels | Boolean | 0/1 | 是否在labels中显示实体名称。 |
includeValueInLabels | Boolean | 0/1 | 是否在labels中显示实体的值。 |
useSNameInLabels | Boolean | 0/1 | 是否在labels活实体名称中用简写来表示。 |
useSNameInToolTip | Boolean | 0/1 | 是否在提示文本中用简写来表示。 |
showShadow | Boolean | 0/1 | 是否显示地图阴影。 |
showBevel | Boolean | 0/1 | 是否显示3D地图。 |
clickURL | String | 整个地图可以作为一个热点,指向一个URL,链接必须符合FusionMaps的格式。 | |
defaultAnimation | Boolean | 0/1 | 地图默认的是有淡入的效果。如果你想通过STYLE功能来自定义动画效果,你可以将次此值设为0。 |
hoverOnEmpty | Boolean | 0/1 | 当XML中没有设置了某个实体的值,是否让其在提示信息显示出来。 |
showPrintMenuItem | Boolean | 0/1 | 是否显示”Print Chart” 按钮。默认为1。 |
exposeHoverEvent | Boolean | 0/1 | 当鼠标移到一实体上时,是否激发Javascript事件或者Flash事件。 |
showAboutMenuItem | Boolean | 0/1 | 是否右键后显示about信息。在这里可以设置你的公司名或者链接。默认的about信息是”About FusionMaps ” 。 |
aboutMenuItemLabel | String | about信息上的文本。 | |
aboutMenuItemLink | String | URL | about信息上的文本连接。 |
二、<map>元素的外观性属性:
Attribute Name | Type | Range | Description |
showCanvasBorder | Boolean | 1/0 | 是否显示实体的边框。 |
canvasBorderColor | Color | Hex Code | 实体边框的颜色。 |
canvasBorderThickness | Number | In Pixels | 实体边框的粗细。 |
canvasBorderAlpha | Number | 0-100 | 实体边框的透明度。 |
bgColor | Color | 设置整个地图的背景颜色。 | |
bgAlpha | Number | 0-100 | 设置整个地图的背景透明度。 |
bgRatio | Number | 0-100 | 设置整个地图的背景颜色比率。 |
bgAngle | Number | 0-360 | 设置整个地图的背景颜色角度。 |
bgSWF | String | 可以用一个透明swf文件作为地图的背景。这个文件要与地图文件在同一个域中。 | |
bgSWFAlpha | Number | 0-100 | 背景flash的透明度。 |
logoURL | String | URL | 可以加载一个logo。这个图要与地图文件在同一个域中。 |
logoPosition | String | TL, TR, BL, BR, CC | Logo的位置:TL – 左上,TR – 右上,BR – 右下,BL – 左下,CC – 中间 |
logoAlpha | Number | 0-100 | Logo的透明度。 |
logoScale | Number | 0-300 | Logo的比例大小。 |
logoLink | String | URL | Logo指向的链接。 |
三、设置Map的数字格式,利用下面这些属性,可以控制以下功能:
1、数字逗号和小数点的格式; 2、数字前缀和后缀; 3、在哪一位四舍五入; 4、在哪一个数量级进行缩放; 5、自定义输入格式。
Attribute Name | Type | Range | Description |
formatNumber | Boolean | 0/1 | 配置是否启动数字格式。例如:当配置为1时,显示 40,000 ,配置为0时,显示 40000 。 |
formatNumberScale | Boolean | 0/1 | 配置是否将数字转化为K (千) and M (百万)。例如: 配置为1, 1043 将转化为1.04K (小数点后两位). |
defaultNumberScale | String | 数字默认的单位。在数字格式高级部分有更详细的介绍。 | |
numberScaleUnit | String | 数字的单位。在数字格式高级部分有更详细的介绍。 | |
numberScaleValue | String | Range of the various blocks that constitute the scale. For more details, please see Advanced Number Formatting section. | |
numberPrefix | String | Character | 数字前缀 |
numberSuffix | String | Character | 数字后缀 |
decimalSeparator | String | Character | 设置一个小数点分隔符。 |
thousandSeparator | String | Character | 设置一个千分隔符。 |
inDecimalSeparator | String | Character | 设置不同的分隔符。 |
inThousandSeparator | String | Character | 设置不同的分隔符。 |
decimals | Number | 0-10 | 小数点的位数。 |
四、设置Map的字体属性:
Attribute Name | Type | Range | Description |
baseFont | String | Font Name | 设置字体。 |
baseFontSize | Number | 0-72 | 字体大小。 |
baseFontColor | Color | 字体颜色。 |
允许将地图保存为图片的属性 (在Map标签中)
Attribute Name | Type | Range | Description |
imageSave | Boolean | (0/1) | 是否支持图片保存功能。 |
imageSaveURL | URL | 图片保存地址,应与地图文件同域。 | |
imageSaveDialogColor | Color | 保存图片时候弹出的窗口颜色。 | |
imageSaveDialogFontColor | Color | 保存图片时候弹出的窗口字体颜色。 |
五、书签属性(在map标签中),书签用来在地图上定义一个点,用来指向一个城市,屋子或者市场等。你可以通过一下的配置项来设置书签。
Attribute Name | Type | Range | Description |
markerFont | String | Font Name | 设置书签字体,在STYLES 中可以重写。 |
markerFontSize | Number | 0-72 | 设置书签字体大小。 |
markerFontColor | Color | 设置书签字体颜色。 | |
showMarkerToolTip | Boolean | 0/1 | 是否显示提示书签的提示信息。 |
showMarkerLabels | Boolean | 0/1 | 是否显示书签的信息。 |
markerLabelPadding | Number | Pixels | 设置书签信息和图标之间的距离。也可以在后面为每个书签重写该值。 |
markerBgColor | Color | 书签背景颜色。 | |
markerBorderColor | Color | 书签边框颜色。 | |
markerRadius | Number | Pixels | 书签的半径。 |
markerConnThickness | Number | Pixels | 如果设置了连接线,这个属性用来设置连接线的粗细。 |
markerConnColor | Color | 如果设置了连接线,这个属性用来设置连接线的颜色。 | |
markerConnAlpha | Number | 0-100 | 如果设置了连接线,这个属性用来设置连接线的透明度。 |
markerConnDashed | Boolean | 0/1 | 如果设置了连接线,这个属性用来设置连接线是否为虚线。 |
markerConnDashLen | Number | Pixels | 如果设置了连接线为虚线,这个属性用来设置虚线的长短。 |
markerConnDashGap | Number | Pixels | 如果设置了连接线为虚线,这个属性用来设置虚线间的长短。 |
六、提示信息(在map标签中)
Attribute Name | Type | Range | Description |
showToolTip | Boolean | 0/1 | 是否显示提示信息。 |
toolTipBgColor | Color | 提示信息的背景颜色。 | |
toolTipBorderColor | Color | 提示信息的边框颜色。 | |
toolTipSepChar | String | 提示信息中,设置名称和值之间的分隔符。 | |
showToolTipShadow | Boolean | 0/1 | 是否在提示信息中显示阴影。 |
地图的内边距和外边距(在map标签中)
Attribute Name | Type | Range | Description |
legendPadding | Number | In Pixels | 设置图例在右/下的内边距。 |
mapLeftMargin | Number | In Pixels | 设置地图距离左边的距离。 |
mapRightMargin | Number | In Pixels | 设置地图距离右边的距离。 |
mapTopMargin | Number | In Pixels | 设置地图距离上边的距离。 |
mapBottomMargin | Number | In Pixels | 设置地图距离下边的距离。 |
七、图例属性(在map标签中)
如果你定义了区域范围颜色,这些颜色块会出现在图例中。你可以将颜色块放在地图的下面或右边。
当然,利用下面的属性,可以设置自定义图例。
Attribute Name | Type | Range | Description |
showLegend | Boolean | 0/1 | 是否显示图例。 |
legendCaption | String | 图例的标题 | |
legendPosition | String | BOTTOM or RIGHT | 图例的位置,下面或右边。 |
legendBgColor | Color | Hex Code | 图例的背景颜色。 |
legendBgAlpha | Number | 0-100 | 图例的背景透明度。 |
legendBorderColor | Color | Hex Code | 图例边框颜色。 |
legendBorderThickness | Number | In Pixels | 图例边框粗细。 |
legendBorderAlpha | Number | 0-100 | 图例边框透明度。 |
legendShadow | Boolean | 0/1 | 是否显示图例阴影。 |
legendAllowDrag | Boolean | 0/1 | 是否允许拖动图例。 |
legendScrollBgColor | Color | Hex Code | 图例拉动框的背景颜色。 |
legendScrollBarColor | Color | Hex Code | 图例拉动框的颜色。 |
legendScrollBtnColor | Color | Hex Code | 图例拉动框的按钮颜色 |
reverseLegend | Boolean | 0/1 | 是否颠倒图例的顺序。 |
八、<entity>实体属性(在每个单独的entity标签中)
Attribute Name | Type | Range | Description |
value | Number | 实体的值。 | |
displayValue | String | 显示信息。 | |
toolText | String | 提示信息。 | |
color | Color | Hex Code | 实体颜色。 |
alpha | Number | 0-100 | 透明度。 |
link | String | 指向的连接,可以是一个窗口,弹出窗口,框架或者是Javascript函数。在“下钻地图”中有更详细的介绍。 | |
font | String | 字体。 | |
fontSize | String | 字体大小。 | |
fontColor | Boolean | 0/1 | 字体颜色。 |
fontBold | Boolean | 0/1 | 字体粗细。 |
showLabel | Boolean | 0/1 | 是否显示标签信息。这个属性重写了<map>中的showLabels属性。 |