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 百度地图的更多相关文章

  1. [ActionScript 3.0] AS3调用百度地图API

    package { import baidu.map.basetype.LngLat; import baidu.map.basetype.Size; import baidu.map.config. ...

  2. 3.0+百度地图在地图初始化的时候就弹框展示一个信息框,而不是用户点击poi时才弹出

    有些时候我们会有这样的业务:当用户根据地址跳转到地图后,希望能够立即弹框展示该poi的地址信息. 实现方法: 百度地图3.0+的类BaiduMap中提供了一个方法showInfoWindow(Info ...

  3. android 3.0+百度地图api地图如何移动到指定的经纬度处

    由于百度地图api,2.0+和3.0+的改动比较大,api基本上被全换过了,有些同学可能2.0+的api使用的非常熟悉,但是更新到3.0+时,却会遇到一些小麻烦(由于api变了,你就需要重新学习它的a ...

  4. [flex] as3.0 实现基于air的简单浏览器

    <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx= ...

  5. [Flash&Flex] AS3.0 如何利用[Embed(source="...")]嵌入资源

    在flex和flashIDE中我们可以[Embed(source="...")]嵌入图片和swf等资源,但两者之间的嵌入方式又有所区别. flex示例: [Embed(source ...

  6. Flex加载google地图、百度地图以及天地图作底图

    一  Flex加载Google地图作底图 (1)帮助类GoogleLayer.as /* * 根据输入的地图类型加载Google地图(by chenyuming) */ package Layers ...

  7. ARCGIS FLEX API加载google地图、百度地图、天地图(转)

    http://www.cnblogs.com/chenyuming507950417/ Flex加载google地图.百度地图以及天地图作底图 一  Flex加载Google地图作底图 (1)帮助类G ...

  8. ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)

    前言 在 ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的 google地图,只提供了这四个属性,如果想 ...

  9. 160518、java中使用百度地图(超级简单)

    第一步:导入如下内容,红色的部分需要申请(个人通过手机号就可以申请) <script type="text/javascript" src="http://api. ...

随机推荐

  1. MSP430F149学习之路——AD

    代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...

  2. android大项目运行中出现问题汇总

    Android 项目中,特别是当项目文件和规模达到一定的程度后,会引发一些平常不常见的问题. 下面对遇到的一些问题做一个汇总和总结. scenario 1: 在项目中,我们采用了chromimum内核 ...

  3. MFC中release版本和debug版本区别

    最近MFC写了个程序,生成release版,原来正常,后来删掉了些控件再编译运行,结果竟然报内存读写错误,debug却是正常的.后来将“Project   Settings”   中   “C++/C ...

  4. json对象与字符串互转

    javascript 1 JSON.parse() 方法用于将一个 JSON 字符串转换为对象. JSON.parse(text[, reviver]) text:必需, 一个有效的 JSON 字符串 ...

  5. js中object的申明方法

    //js中的对象申明使用new Object(); //object类型的数据类似于数组通过下表来访问其中的值 //example1 var person=new Object(); person.n ...

  6. 委托delegate使用方法

    允许传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m,说白了就是可以把方法当作参数传递. class Program { //delegate的使用方法一 public del ...

  7. CSS3 background-size图片自适应

    转自:http://www.html5cn.com.cn/css3/2013-04-21/267.html: background-size属性和background-origin属性.backgro ...

  8. VS2010调试生成的文件

    调试时IntelliTrace打开了,关闭IntelliTrace就可以了, Win7的话在C:\ProgramData\Microsoft Visual Studio\10.0\TraceDebug ...

  9. .NET Web开发总结(五)

    7 常用服务器控件 7.1 服务器控件概述 · 服务器控件是指在服务器上执行程序的代码的组件 通常这些服务器控件会提供    给用户一定的界面,  以便用户与服务器之间快速的交互 7.2 HTML 服 ...

  10. ADO.NET中ExcuteReader读取存储过程获取的多行数据

    DLL层调用: List<BookInfo> tupleList = new List<BookInfo>(); using (IDataReader reader = thi ...