Raphael绘制中国地图实现点击哪儿在哪儿显示柱状图

Raphael绘制中国地图实现点击哪儿在哪儿显示柱状图,第1张

1.首先导入各种js包:

<script type="text/javascript" src="../js/chinamapPath.js"></script>

<script type="text/javascript" src="../js/raphael.js"></script>

<script type="text/javascript" src="../js/g.raphael-min.js"></script>

<script type="text/javascript" src="../js/g.pie-min.js"></script>

<script type="text/javascript" src="../js/g.bar-min.js"></script>

2. 添加页面部分代码

<div id="china_map" style="margin-left:200pxmargin-top:40px"></div>

3. 绘制地图部分代码:

$(function() {

Raphael.getColor.reset()//色谱重置回红色

//创建一个画布对象用来绘制。你必须第一步就这么做,该实例将来调用的所有绘图方法都被绑定到这个画布。

var R = Raphael("china_map", 600, 500)

//调用绘制地图方法

paintMap(R)

var current = null

//用于对鼠标点击次数的计数;

var result = 0

//判断两次点击的区域名字的标志量;

var nameFlag = ""

var x=0

var y=0

var textAttr = {

"fill": "#000",

"font-size": "13px",

"cursor": "pointer" //光标的CSS类型,指针类型;

}

for (var state in china) {//state代表每个省,即就是用每个或区域来遍历整个地图区域;

//Raphael.getColor(0.9):每次调用返回色谱中的下一个颜色(返回颜色的十六进制表示)

china[state]['path'].color = Raphael.getColor(0.9)//分省区域着色

china[state]['path'].transform("t30,0")//地图的每个省的路径横向平移坐标(30px,0px)

(function (st, state) {

//获取每个区域的中心坐标(getBBox():返回指定元素的边界框,x:左上角Xy表示左上角y)

var xx = st.getBBox().x + (st.getBBox().width / 2)

var yy = st.getBBox().y + (st.getBBox().height / 2)

//***修改部分地图文字偏移坐标

switch (china[state]['name']) {

case "江苏":

xx += 5

yy -= 10

break

case "河北":

xx -= 10

yy += 20

break

case "天津":

xx += 10

yy += 10

break

case "上海":

xx += 10

break

case "广东":

yy -= 10

break

case "澳门":

yy += 10

break

case "香港":

xx += 20

yy += 5

break

case "甘肃":

xx -= 40

yy -= 30

break

case "陕西":

xx += 5

yy += 10

break

case "内蒙古":

xx -= 15

yy += 65

break

default:

}

//***写入地名,并加点击事件,部分区域太小,增加对文字的点击事件

//R.text(xx, yy, china[state]['name'])给地图区域的中心位置添加省的名字

china[state]['text'] = R.text(xx, yy, china[state]['name']).attr(textAttr).click(function () {

if(result<1){ //第一次点击这个区域

nameFlag = china[state]['name']

clickMap()

controlChinaMap()

result += 1

}else if(result>=1 &&(nameFlag == china[state]['name'])){//第N此点击,判断是不是同一个点击区域

clickMap()

}else{

clickMap()

controlChinaMap()

china[state]['text'] = R.text(xx, yy, nameFlag).attr(textAttr).click(function (){

clickMap()

})

}

})

//图形的点击事件(st[0]表示一个SVGPathElement对象)

$(st[0]).click(function (e) {

if(result<1){ //第一次点击这个区域

x = xx

y = yy

nameFlag = china[state]['name']

clickMap()

controlChinaMap()

result += 1

}else if(result>=1 &&(nameFlag == china[state]['name'])){//第N此点击,判断是不是同一个点击区域

clickMap()

}else{

clickMap()

R.barchart(x,y-150,50,200,[0],{type:"round"})

controlChinaMap()

}

})

st[0].onmouseover = function () {

st.animate({fill: st.color, stroke: "#eee"}, 500)//为地图区域创建动画,鼠标滑过区域颜色加深,持续时间500毫秒

china[state]['text'].toFront()//元素上移

R.safari()//处理渲染错误

}

st[0].onmouseout = function () {

st.animate({fill: "#97d6f5", stroke: "#eee"}, 500)

china[state]['text'].toFront()

R.safari()

}

function clickMap() {

if (current == state) //判断两次点击是否点击的是同一个区域

return

//重置上次点击的图形

current &&china[current]['path'].animate({ transform: "t30,0", fill: china[current]['isClick'] ? china[current]['path'].color : "#b0d0ec", stroke: "#ddd" }, 2000, "elastic")

current = state //将当前值赋给变量

//对本次点击

china[state]['path'].animate({ transform: "t30,0 s1.03 1.03", fill: china[state]['path'].color, stroke: "#000" }, 1200, "elastic")

st.toFront() //向上

R.safari()

china[current]['text'].toFront() //***向上

if (china[current] === undefined) return

}

function controlChinaMap(){

//type默认是square,还有sharp、soft

R.barchart(xx,yy-150,50,200,[5,4,3,2,1],{type:"round"})

//在你的图上面加一个注释

//R.blob(xx,yy-130, "25%", 50)

}

})(china[state]['path'], state)

}

})

艺术家(英文叫artist)是指具有较高的审美能力和娴熟的创造技巧并从事艺术创作劳动而有一定成就的艺术工作者。

进行艺术作品的创造活动的人物,通常指在诸如写作、绘画、摄影、表演、雕塑、音乐、书法及舞蹈等艺术领域有比较高的成就,从而具备了一定的美学程度的人。

既包括在艺术领域,影视领域里以艺术创作作为自己专门职业的人,也包括在自己职业之外从事艺术创作的人。是一个源于自然,发于心灵的艺术作品创作者。

扩展资料:

世界著名艺术家介绍:

1、达·芬奇

列奥纳多·迪·皮耶罗·达·芬奇 (意大利语:Leonardo di ser Piero da Vinci;1452年4月15日—1519年5月2日),意大利著名画家、科学家,与拉斐尔、米开朗基罗并称意大利文艺复兴三杰,也是整个欧洲文艺复兴时期的代表之一。

他学识渊博、多才多艺,是一个博学者:在绘画、音乐、建筑、数学、几何学、解剖学、生理学、动物学、植物学、天文学、气象学、地质学、地理学、物理学、光学、力学、发明、土木工程等领域都有显著的成就。

他全部的科研成果保存在他的手稿中,大约有15000多页,爱因斯坦认为,达·芬奇的科研成果如果在当时就发表的话,科技可以提前半个世纪。

他15岁左右到佛罗伦萨拜师学艺,成长为具有科学素养的画家、雕刻家,并成为军事工程师和建筑师,1482年应聘到米兰后毕业于意大利理工学院成为意大利著名建筑师、画家,在贵族宫廷中进行创作和研究活动,1513年起漂泊于罗马和佛罗伦萨等地。

1516年侨居法国,小行星3000被命名为“列奥纳多”。最著名的作品是《蒙娜丽莎》现在是巴黎的卢浮宫的三件镇馆之宝之一。

2、拉斐尔

拉斐尔·桑西(1483 —1520),Raffaello Santi全名Raffaello Sanzio da Urbino,常称为拉斐尔(Raphael),意大利著名画家,也是“文艺复兴后三杰”中最年轻的一位,代表了文艺复兴时期艺术家从事理想美的事业所能达到的巅峰。

他的性情平和、文雅,创作了大量的圣母像,他的作品充分体现了安宁、协调、和谐、对称以及完美和恬静的秩序。

3、梅兰芳

梅兰芳(1894年10月22日-1961年8月8日),清光绪二十年(1894年)出生于北京,祖籍江苏泰州。中国京剧表演艺术大师。

梅兰芳8岁学戏,9岁拜吴菱仙为师学青衣,10岁登台。后又求教于秦稚芬和胡二庚学花旦。1915年4月至1916年9月,新排演了《宦海潮》《牢狱鸳鸯》《思凡》等11出戏。

于1949年前先后赴日本、美国、苏联演出,并荣获美国波莫纳学院和南加州大学的荣誉文学博士学位。

1950年任中国京剧院院长、1951年,任中国戏曲研究院院长,1953年,任中国戏剧家协会副主席,1959年,加入中国共产党,1961年8月8日,梅兰芳因病在北京病逝。享年67岁。

参考资料来源:百度百科——艺术家


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11248032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存