今天想看一下Flex中关于地图方面的使用,刚开始看了google map api, 感觉用起来挺麻烦,关键是英文不好,文档读起来费劲,还有密钥神马的~

那我就试验一下百度地图的接口,文档是中文的。

首先下载百度地图的Flash API

地址:http://developer.baidu.com/map/flash.htm

(比较蛋疼的是现在谷歌地图、百度地图都不在更新Flash API,都会推荐用javascript api —。—)

用来也挺方便,不过赶脚百度地图做得不够精细。

还是看代码吧:

 <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
height="458" minWidth="600" minHeight="400">
<fx:Script>
<![CDATA[
import baidu.map.basetype.LngLat;
import baidu.map.basetype.Size;
import baidu.map.control.Control;
import baidu.map.control.base.*;
import baidu.map.core.Map;
import baidu.map.layer.Layer;
import baidu.map.layer.RasterLayer;
import baidu.map.overlay.Label;
import baidu.map.overlay.InfoWindow; import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode; import mx.core.UIComponent;
import mx.events.FlexEvent; protected function Group_Map_create(event:FlexEvent):void
{
// 创建一个大小为600*400的Map对象
var map:Map = new Map(new Size(600,400));
// 初始化Map的中心点和显示级别
map.centerAndZoom(new LngLat(116.404, 39.85),14);
// 添加底图
var layer:Layer = new RasterLayer("BaiduMap", map);
map.addLayer(layer); // 添加Navigator平移控件
var nav:Navigator = new Navigator(map);
map.addControl(nav);
// 添加Overview缩略图
var overview:Overview = new Overview(map);
map.addControl(overview);
// 添加Scaler缩放
var scaler:Scaler = new Scaler(map);
map.addControl(scaler);
// 添加Ruler比例尺
var ruler:Ruler = new Ruler(map);
map.addControl(ruler); //文本覆盖物是添加到地图上的一段文本。可以设置文本的内容,样式和背景
var bg:Sprite = new Sprite();
bg.graphics.beginFill(0x0000ff, 0.7);
bg.graphics.drawRect(0, 0, 100, 100);
bg.graphics.endFill();
var label:Label = new Label("测试文字");
label.position = new LngLat(116.404, 39.85);
label.contentStyle = new TextFormat("宋体", 14, 0xff0000, true);
label.background = bg;
map.addOverlay(label);
//信息窗口在地图上方的弹出窗口
var infowindow:InfoWindow = new InfoWindow("我是弹出窗口!", null, "标题", null);
map.openInfoWindow(infowindow); var UC:UIComponent=new UIComponent();
UC.addChild(map); Group_Map.addElement(UC);//加入到Group容器中
} ]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations> <mx:Panel x="95" y="15" width="603" height="433" title="百度地图">
<s:Group id="Group_Map" width="600" height="400"
creationComplete="Group_Map_create(event)">
</s:Group>
</mx:Panel> </s:Application>

有一个地方困扰了我很久~上网查了一些~学到一下细节性东西~

那就是用的Group容器无法加载Map,因为Map不是一个类似Label的组件,类型是Sprite,需要外层加一个UIComponent~

Sprite 类是基本显示列表构造块:一个可显示图形并且也可包含子项的显示列表节点。

Sprite 对象与影片剪辑类似,但没有时间轴。Sprite 是不需要时间轴的对象的相应基类。例如,Sprite 将是通常不使用时间轴的用户界面 (UI) 组件的逻辑基类。

关于这个结构问题~这里不做深入研究~看效果图:

更多内容请参看百度地图API ~http://developer.baidu.com/map/fdevelop-2.htm

就研究到这吧~

Flex 百度地图API使用的更多相关文章

  1. web开发调用百度地图API + AK申请

    web开发调用百度地图API + AK申请 要使用百度地图的API我们首先需要在我们的html页面引入js----`` 如何获取百度地图ak: 1.登陆百度地图开发者平台 2.注册百度开发者账号并登陆 ...

  2. 百度地图API的使用

    ------------------自说自话----------------------------- 好奇怪,习惯性使用有道云笔记记录心得与知识后就很少用博客园来记录了. 但是后来想想,有些东西还是 ...

  3. 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]

    ZMap 类 功能介绍 ZMap 是学习百度地图 api 接口,开发基本功能后整的一个脚本类,本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐 ...

  4. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 百度地图api的覆盖物样式与bootstrap样式冲突解决办法

    使用百度地图api 和 bootstrap ,发现标注样式出现了问题 label左侧 宽度变得非常窄 正常情况下应该是下面这样的: 原因是boostrap样式和百度地图样式冲突了. 解决办法: .ba ...

  6. 百度地图API试用--(初次尝试)

    2016-03-17: 百度地图API申请key的步骤相对简单,不做过多阐述. 初次使用百度地图API感觉有点神奇,有些功能加进来以后有点问题,注释掉等有空再解决. 代码如下: <%@ page ...

  7. 百度地图API显示多个标注点并添加百度样式检索窗口

    原作者博客地址:http://blog.csdn.net/a497785609/article/details/24009031 在此基础上进行了修改: 1.添加闭包,将i传入内部 2.添加地图和卫星 ...

  8. 百度地图API简单应用

    在做移动端应用时经常用到百度地图API,百度API有强大的示例和文档,开发之前去百度相关网站注册密钥,很块博主只花了几分钟 百度地图API范例 百度地图API文档说明 例子1:输入特定关键字绘制地图标 ...

  9. Winform实现用多线程、百度地图API解析某公司的物理地址

    前言 作为一个很挫的C#新手总喜欢自己写点儿不着边际的东西,本人是个新手加菜鸟,写B/S的,工作中,任务完成了,空闲下来,总想继续学点儿什么,由此触发了本篇文章了.个人一直认为,.NET中,C/S所要 ...

随机推荐

  1. .wsdl文件生成.cs文件

    1.打开VS文件命令行工具(一般在安装文件的Common7\Tools\Shortcuts下面例如[E:\VS2013安装程序\Common7\Tools\Shortcuts\VS2013 x64 本 ...

  2. CKEditor + CKFinder 实现编辑上传图片配置 (二)

    CKEditor + CKFinder 实现编辑上传图片配置 (二) 上传图片时,如果上传的图片过大,默认情况情况下回自动裁剪,代码如图 \ckfinder\config.php 目录下的配置文件co ...

  3. 前自加(++a)与后自加(a++)的差别

    自加是自己加1的操作.比如a++ 是a+1 ,变量a变成了 a+1的值. 如果是简单的只做 a++:或者++a的语句,效果是一样的. 但是如果嵌入到复杂的语句中,比如 b = a++: 和 b = + ...

  4. HDU2955-Robberies

    描述: The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usual ...

  5. jquery的$().each,$.each

    在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法.两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点. $().each,对于这个方法,在d ...

  6. ADODB 数据库Access连接

    <?php $filepath=__FILE__;//echo __FILE__;$newarray=explode("\\",$filepath);$num=count($ ...

  7. python2.7_1.14_编写一个简单的回显客户端/服务器应用

    1.服务端 server.py # -*- coding: utf-8 -*- import socket import argparse host = 'localhost' data_payloa ...

  8. Web存储(Web Storage)介绍

    Web存储即在客户端存储数据. 在没有Web Storage之前,是通过cookie来在客户端存储数据的.但是由于 浏览器能存cookie数比较少.如IE8,Firefox,opera每个域可以保存的 ...

  9. Qt 不规则窗体的实现(构造函数里setPaletteBackgroundPixmap后设置setMask)

    Skin(表皮) 是制作比较酷的软件界面的有利工具. 一个软件可以同时使用多种Skin 以取得不同的外观, 使同一个软件有截然不同的风格. 用户可以根据自己的喜好选择 不同的风格. 本节介绍使用 Qt ...

  10. 对开发中常见的内存泄露,GDI泄露进行检测

    对开发中常见的内存泄露,GDI泄露进行检测 一.GDI泄露检测方法: 在软件测试阶段,可以通过procexp.exe 工具,或是通过任务管理器中选择GDI对象来查看软件GDI的对象是使用情况. 注意点 ...