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. ...
随机推荐
- python 简单实现文件拷贝
1.背景 一日加班需要写一个文件拷贝的函数. 写了几版拷贝函数,有需要的直接粘贴过去 def CopyLocaleFile1(sorfile,desfile): #第一版 sorfp=open(sor ...
- J1签证办理全过程
从3月底开始申请,整理J1的材料,一直到现在VISA的status变成了issued,中间被check了20多天,终于快要可以去silicon valley了. 废话不多说,J1签证很easy,不要有 ...
- js面向过程改写成面向对象--通用方法
响亮的标题:一个万能的,保底的.面向过程改写成面向对象的方法 前提朗读:很多刚接触js面向对象的时候都不知道如何能快速的写出一个面向对象的程序,这个是必然的现象,不是每一位学js的一上来就会写面向对象 ...
- Flash图表控件FusionCharts自定义图表y轴最大/最小值
自定义图表y轴的最大值和最小值 用户可以使用FusionCharts图表中<chart>元素的yAxisMaxValue和yAxisMinValue属性设置图表限制. 示例: <ch ...
- 将Excel中数据导入数据库(一)
在工作中经常要将Excel中数据导入数据库,这里介绍一种方法. 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: Excel中数据导入数据库帮助类如下: using System; ...
- VS集成Qt环境搭建
环境:VS2010 + Qt5.2 关于VS的下载.安装,这里就不再做过多阐述. 一.下载Qt5.2安装包(qt-windows-opensource)与Qt插件(Visual Studio Add- ...
- 解决spawn-fcgi child exited with: 1
spawn-fcgi -d /data/web/ad/ -f /data/web/ad/code.py -a -P /data/openresty_81/nginx/pid/ad.pid 出错的时候请 ...
- js 数组对象,数组的使用
var a =new Array(1,2,3,4,'a','b','c',{x:1,y:2}); alert(a[7].x); //数组之中可以定义数组. var b=['a','b','c']; c ...
- Nodejs笔记(一)
Node近些日子大火,看样子js大有统一前端后台的趋势... Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度快,性 ...
- mysql时间日期相加相减实现
分享篇mysql中日期的一些操作,就是我们常常会用到的mysql时间日期的相加或者相减的了,这个mysql也自己带了函数,有需要的朋友可以参考一下. 最简单的方法 select TO_DAYS(str ...