这是之前发布的中国地图Flash版的优化版,具备如下的功能:
- 按照省份划分行政区域,显示每个省份的详细信息(内容通过XML自定义)
- 支持HTML显示
- 支持点击省份,打开网页链接
- 支持事件监听(AS和JavaScript)
演示地址:
http://www.richbox.net/Files/demo.html
使用方式:
将这个Flash插入到网页中并配置相应的参数即可(需要设置地图的标题,和数据源的XML地址,如果你希望Flash回调你的JavaScript方法,请参见第三个参数的配置),推荐使用SWFObject,示例代码:
CODE:
-
<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的配置示例:
http://www.richbox.net/Files/d.xml
你也可以将这个地图应用到你的Flash或Flex项目中,并可以监听地图点击的Event,代码示例:
CODE:
-
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);
-
}
-
-
}
你可以从这里下载这个地图的文件:
http://code.google.com/p/chinamapforflash/downloads/list
源码已经提供在Google Code上,你可以随意修改并使用:
http://code.google.com/p/chinamapforflash/source/browse/
上一篇:
用于纯Actionscript工程的轻量级Form组件集(二) 下一篇:没有了