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. ...
随机推荐
- Hive基础之自定义封装hivefile命令
存在的问题:当把hql写到shell中,不方便阅读:但把hql写到文件中,又传递不了参数:怎么办呢? 自定义hivefile 执行方式形如: 第一个参数为要执行的hql文件,后续的参数为要替换的key ...
- PL/0与Pascal-S编译器程序详细注释
学校编译课的作业之一,要求阅读两个较为简单的编译器的代码并做注释, 个人感觉是一次挺有意义的锻炼, 将自己的心得分享出来与一同在进步的同学们分享. 今后有时间再做进一步的更新和总结,其中可能有不少错误 ...
- OSChina中远程GIT仓库同步探索
GIT平台在OSChina中的搭建帮了我们很大的忙,但如何将本地GIT仓库上传至OSChina的远程仓库,相信这是一个艰难的坎,今天我就在此总结我的成功经验,帮助大家,共同学习.由于条件有限,我全部的 ...
- Flex AdvancedDatagrid使用
首先我先来看下利用Advanced Datagrid做出的效果,然后我们再对其中所利用的知识进行讲解,效果图如下: 我们来看下这个效果我们所用到的关于Advanced Datagrid的相关知识: 一 ...
- 第4章 awk编程
1 awk编程模型 2 awk用法 调用awk有三种方法(与sed类似): 在Shell命令行输入命令调用awk,格式为: awk [-F 域分隔符] 'awk程序段' 输入文件 将awk ...
- JS实现电子时钟
目前有个小项目,在首页头部导航栏里需要一个电子时钟的效果,于是我就采用如下代码实现了一个电子时钟的效果.不过不完美,第一种方式容易导致网页莫名其妙的异常,后来觉得可能是做的操作太多了,然后 ...
- Git 图解剖析
git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的bl ...
- 操作笔记:tomcat在正式环境
1,一台服务器有两个容器,比如:jetty,tomcat. 出现问题: jetty启动的时候,tomcat就不能启动了. 此时,需要修改tomcat的配置文件:servler.xml <?xml ...
- centos custom iso
http://www.smorgasbork.com/2012/01/04/building-a-custom-centos-6-kickstart-disc-part-1/ Create a dir ...
- 编程规范 html部分
不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. HTML 部分 语法 对于属性的定义,确保全部使用双引号,绝不要使用单引号. 为每个 HTML 页面的第一行添加标准模式(st ...