`
aerchi
  • 浏览: 423920 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
文章分类
社区版块
存档分类
最新评论

flash版的中国地图【转载】

 
阅读更多
这是之前发布的中国地图Flash版的优化版,源码位于GoogleCode,提供下载,具备如下的功能:

1. 按照省份划分行政区域,显示每个省份的详细信息(内容通过XML自定义)
2. 支持HTML显示
3. 支持点击省份,打开网页链接
4. 支持事件监听(AS和JavaScript)

演示地址:

www.richbox.net/Files/demo.html

使用方式:

将这个Flash插入到网页中并配置相应的参数即可(需要设置地图的标题,和数据源的XML地址,如果你希望Flash回调你的JavaScript方法,请参见第三个参数的配置),推荐使用SWFObject,示例代码:
<script type=“text/javascript”>
function eventHandler(e) {
alert(e.value);
}
var s1 = new SWFObject(“ChinaMap.swf”,“ply”,“600″,“500″,“10″,“#FFFFFF”);
s1.addParam(“allowscriptaccess”,“always”);
s1.addVariable(“title”,“中国地图”);
s1.addVariable(“xmlurl”,“d.xml”);
s1.addVariable(“jsHandler”,“eventHandler”);
s1.write(“container”);
</script>

数据XML的配置示例:

www.richbox.net/Files/d.xml

你也可以将这个地图应用到你的Flash或Flex项目中,并可以监听地图点击的Event,代码示例:

public class ChinaMapDemo extends Sprite
{
public function ChinaMapDemo()
{
super();
var mapLoader:Loader = new Loader();
mapLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,init);
mapLoader.load(new URLRequest(“ChinaMap.swf”));
addChild(mapLoader);
}
private function init(e:Event):void {
e.currentTarget.content.loaderInfo.parameters.title = “中国地图”;
var demoMap:ChinaMap = e.currentTarget.content as ChinaMap;
demoMap.addEventListener(MapEvent.ITEMCLICK,clickHandler);
}
private function clickHandler(e:MapEvent):void {
trace(e.value);
}
}

你可以从这里下载这个地图的文件:

code.google.com/p/chinamapforflash/downloads/list

源码已经提供在Google Code上,你可以随意修改并使用:

code.google.com/p/chinamapforflash/source/browse/
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics