FLEX AS3.0 百度地图
window xp系统 FlashBuilder4.5
先上百度下载flash api 下载地址http://developer.baidu.com/map/flash.htm
新建一个flex项目
右键项目→属性→Flex构件路径 导入BMap.swc(下载的flash api)
map1.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:maps="com.earthplayer.maps.*"
creationComplete="init()"
width="1200"
height="700"
x="0" y="0"
>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<mx:HTTPService id="myService" url="area.xml" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import baidu.map.basetype.LngLat;
import baidu.map.basetype.Size;
import baidu.map.control.base.Navigator;
import baidu.map.control.base.Overview;
import baidu.map.control.base.Ruler;
import baidu.map.control.base.Scaler;
import baidu.map.core.Map;
import baidu.map.layer.Layer;
import baidu.map.layer.RasterLayer;
import baidu.map.overlay.InfoWindow;
import baidu.map.overlay.Label;
import baidu.map.overlay.Marker;
import baidu.map.overlay.geometry.Circle;
import baidu.map.overlay.geometry.Polygon;
import baidu.map.overlay.geometry.Polyline;
import baidu.map.symbol.CircleSymbol;
import baidu.map.symbol.PolygonSymbol;
import baidu.map.symbol.PolylineSymbol; import mx.collections.ArrayCollection;
import mx.core.UIComponent;
import mx.events.FlexEvent;
import mx.messaging.channels.StreamingAMFChannel; import spark.events.IndexChangeEvent; [Bindable]
public var store_st:ArrayCollection = new ArrayCollection(
[
{status:"玫瑰园"},
{status:"北京"},
{status:"上海"},
{status:"广州"},
{status:"深圳"},
{status:"佛山"},
{status:"南宁"},
{status:"南京"},
{status:"海口"},
{status:"哈尔滨"},
{status:"吉林"},
{status:"长春"},
{status:"天津"},
{status:"石家庄"},
{status:"郑州"},
{status:"西安"},
{status:"长沙"},
{status:"武汉"},
{status:"成都"},
{status:"香港"},
{status:"杭州"},
]
); public function init():void{
config();
} private function config():void{
const request:URLRequest = new URLRequest("area.xml");
const loader:URLLoader = new URLLoader(request);
loader.addEventListener(Event.COMPLETE, loader_completeHandler);
function loader_completeHandler(event:Event):void{
var configXML:XML = XML(loader.data);
for each (var i:XML in configXML.store_name){
if (store_cb.text==i.@id.toString()){
var x:Number=i.store_x.toString();
var y:Number=i.store_y.toString();
}
}
map(x,y);
}
} public function map(x:Number,y:Number):void{
// 创建一个大小为600*400的Map对象
var map:Map = new Map(new Size(Cs.width, Cs.height))
var uc:UIComponent = new UIComponent();
uc.addChild(map);
Cs.addChild(uc); //addElement(uc);
//Gp.addElement(uc); 如果是Group容器就用这个 // 初始化Map的中心点和显示级别
map.centerAndZoom(new LngLat(x,y), 12); // 添加底图
var layer:Layer = new RasterLayer("BaiduMap", map);
map.addLayer(layer); //添加定位标志
var marker:Marker = new Marker();
marker.position = new LngLat(x,y);
map.addOverlay(marker); // 添加Overview 缩略图控件
var overview:Overview = new Overview(map);
map.addControl(overview); // 添加Navigator平移控件
var nav:Navigator = new Navigator(map);
map.addControl(nav); // 添加Scaler 缩放控件
var scaler:Scaler = new Scaler(map);
map.addControl(scaler); // 添加Ruler 比例尺控件
var ruler:Ruler = new Ruler(map);
map.addControl(ruler); //添加文本标签
var label:baidu.map.overlay.Label = new baidu.map.overlay.Label(store_cb.selectedLabel);
label.position = new LngLat(x,y+0.02);
label.contentStyle = new TextFormat("宋体", 14, 0xff0000, true);
map.addOverlay(label); } public function refresh():void{
store_cb.selectedIndex = 0;
map(113.061539,22.885359);
} ]]>
</fx:Script>
<s:layout>
<s:VerticalLayout paddingLeft="5" paddingRight="5" paddingTop="5" paddingBottom="5"/>
</s:layout> <s:VGroup width="100%" height="100%">
<s:HGroup width="100%" horizontalAlign="right" verticalAlign="middle">
<s:Spacer width="100%"/>
<s:Label text="门店:"/>
<mx:ComboBox id="store_cb" dataProvider="{store_st}" labelField="status" selectedIndex="0" editable="true"/>
<s:Button id="sreach_btn" label="搜索" click="init()"/>
<s:Button id="refresh_btn" label="刷新" click="refresh()"/>
</s:HGroup> <mx:Canvas id="Cs" borderStyle="solid" width="100%" height="100%">
</mx:Canvas>
</s:VGroup>
</s:WindowedApplication>
area.xml
<?xml version="1.0" encoding="UTF-8"?>
<Store>
<store_name id="玫瑰园">
<store_x>113.061539</store_x>
<store_y>22.885359</store_y>
</store_name>
<store_name id="北京">
<store_x>116.395645</store_x>
<store_y>39.929986</store_y>
</store_name>
<store_name id="上海">
<store_x>121.487899</store_x>
<store_y>31.249162</store_y>
</store_name>
<store_name id="广州">
<store_x>113.30765</store_x>
<store_y>23.120049</store_y>
</store_name>
</Store>
结果:
FLEX AS3.0 百度地图的更多相关文章
- [ActionScript 3.0] AS3调用百度地图API
package { import baidu.map.basetype.LngLat; import baidu.map.basetype.Size; import baidu.map.config. ...
- 3.0+百度地图在地图初始化的时候就弹框展示一个信息框,而不是用户点击poi时才弹出
有些时候我们会有这样的业务:当用户根据地址跳转到地图后,希望能够立即弹框展示该poi的地址信息. 实现方法: 百度地图3.0+的类BaiduMap中提供了一个方法showInfoWindow(Info ...
- android 3.0+百度地图api地图如何移动到指定的经纬度处
由于百度地图api,2.0+和3.0+的改动比较大,api基本上被全换过了,有些同学可能2.0+的api使用的非常熟悉,但是更新到3.0+时,却会遇到一些小麻烦(由于api变了,你就需要重新学习它的a ...
- [flex] as3.0 实现基于air的简单浏览器
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx= ...
- [Flash&Flex] AS3.0 如何利用[Embed(source="...")]嵌入资源
在flex和flashIDE中我们可以[Embed(source="...")]嵌入图片和swf等资源,但两者之间的嵌入方式又有所区别. flex示例: [Embed(source ...
- Flex加载google地图、百度地图以及天地图作底图
一 Flex加载Google地图作底图 (1)帮助类GoogleLayer.as /* * 根据输入的地图类型加载Google地图(by chenyuming) */ package Layers ...
- ARCGIS FLEX API加载google地图、百度地图、天地图(转)
http://www.cnblogs.com/chenyuming507950417/ Flex加载google地图.百度地图以及天地图作底图 一 Flex加载Google地图作底图 (1)帮助类G ...
- ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
前言 在 ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的 google地图,只提供了这四个属性,如果想 ...
- 160518、java中使用百度地图(超级简单)
第一步:导入如下内容,红色的部分需要申请(个人通过手机号就可以申请) <script type="text/javascript" src="http://api. ...
随机推荐
- Android中常用的5大布局详述
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的 ...
- org.springframework.core.NestedIOException
今天遇到的一个小异常,报错信息如下: 2013-11-13 10:00:32 org.apache.catalina.core.StandardContext listenerStart严重: Exc ...
- dwr与ssh框架整合教程
(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...
- Java构造和解析Json数据的两种方法详解一
一.介绍 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据,在其官网http://www.js ...
- 洛谷P1268 树的重量
P1268 树的重量 85通过 141提交 题目提供者该用户不存在 标签树形结构 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 有这种情况吗!!!! 题意似乎有问题 题目描述 树可以用来表 ...
- dev中如何对combox下拉框设置可消除属性以及ASPxGridView中金额,数量的显示,以及总计、grid中某行值
下拉框属性关键:IncrementalFilteringMode="StartsWith" DropDownStyle="DropDown" ASPxGridV ...
- powerdesigner逆向导出oracle数据库结构显示备注
最近接到命令,要将oracle数据库的结构导出为pdm文件供其他同事使用,逆向工程导出数据库结构比较方便,但是发现导出的数据库结构没有注释,这是很郁闷的事情: 查过网上很多资料都是sqlserver的 ...
- [前端 3]纯Js制作俄罗斯方块游戏
导读:在别人文章里看到了,然后写了一遍.结果出错了,然后调出来了,然后理解了一下,加了点注释,有一些想法.忘了在 哪一篇上面看的了,就贴不出来链接地址.原谅.呃,真没自己的东西,权当练打字了吧.其实, ...
- dell 交换机 双链路冗余
公司海外机房引入2G带宽,是由2个电口绑定实现的.因业务需要扩容到3G,在绑定端口扩展性不太好,因此直接上10G光纤模块. 机房技术人员建议,2g老线路不撤做备份,3g新线路在线使用.使用STP协议实 ...
- unity3d发布Android程序
unity3d是一个跨平台的游戏开发引擎,可以使用c#开发各种平台上的游戏,如windows,Mac,Android,windows phone,IOS,Flash等.下面说下如何将开发好的unity ...