配置开发环境
以Flash Builder为例。如果您使用Flash IDE、FDT或者Flash Develop配置方法会稍有不同。
在Flash Builder里创建Flex/ActionScript Project,在Package Explorer中右键点击新创建的项目,选择Properties。点击Flex Library Build Path菜单,选择Library path标签页,点击Add Swc按钮,选择您下载的BMap.swc。
确认完成BMap.swc的配置。
百度地图的“Hello, World”
开始学习百度地图Flash API最简单的方式是看一个简单的示例。
以下代码创建了一个地图并以天安门作为地图的中心:
package
{
import baidu.map.basetype.Size;
import baidu.map.core.Map;
import baidu.map.basetype.LngLat;
import baidu.map.layer.Layer;
import baidu.map.layer.RasterLayer;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
/**
* Demo:Hello World!
*/
public class HelloWorld extends Sprite
{
public function HelloWorld()
{
// 舞台设置
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
// 创建一个大小为600*400的Map对象
var map:Map = new Map(new Size(600, 400));
addChild(map);
// 初始化Map的中心点和显示级别
map.centerAndZoom(new LngLat(116.404, 39.915), 12);
// 添加底图
var layer:Layer = new RasterLayer("BaiduMap", map);
map.addLayer(layer);
}
}
}
下面将详细为您解释上述代码。
新建文档类
创建一个文档类,设置舞台属性。如下代码:package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
/**
* Demo:Hello World!
*/
public class HelloWorld extends Sprite
{
public function HelloWorld()
{
// 舞台设置
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
}
}
}
创建地图对象
需要先import Size类和Map类。import baidu.map.basetype.Size;
import baidu.map.core.Map;
Map的参数是Size对象,表示了Map的大小。// 创建一个大小为600*400的Map对象
var map:Map = new Map(new Size(600, 400));
addChild(map);
地图初始化
需要先import LngLat类。import baidu.map.basetype.LngLat;
将地图的中心点坐标设置为经度116.404,纬度39.915。显示级别设置为12。map.centerAndZoom(new LngLat(116.404, 39.915), 12);
创建底图
地图展现需要通过添加底图来实现。先import Layer类和RasterLayer类。import baidu.map.layer.Layer;
import baidu.map.layer.RasterLayer;
初始化图层,并添加到Map中。var layer:Layer = new RasterLayer("BaiduMap", map);
map.addLayer(layer);
地图配置与操作
地图被实例化并完成初始化以后,就可以与其进行交互了。Flash API中的地图对象的外观与行为与百度地图网站上交互的地图非常相似。它支持鼠标拖拽、滚轮缩放、双击放大等交互功能。您也可以修改配置来改变这些功能。 比如,默认情况下地图不支持鼠标滚轮缩放操作,因为这样可能会影响整个页面的用户体验,但是如果您希望在地图中使用鼠标滚轮控制缩放,则可以调用map.enableScrollWheelZoom方法来开启。配置选项可以在Map类参考的配置方法一节中找到。
此外,您还可以通过编程的方式与地图交互。
Map类提供了若干修改地图状态的方法。如:map.center = new LngLat(114.30, 30.54);
map.zoom = 13;