浏览 4613 次
锁定老帖子 主题:Flex中嵌入Google地图
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-24
?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" initialize="init()"> <mx:Script> <![CDATA[ ]]> </mx:Script> <mx:UIComponent id="mapContainer" width="100%" height="100%"/> </mx:Application> ?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" initialize="init()"> <mx:Script> <![CDATA[ ]]> </mx:Script> <mx:UIComponent id="mapContainer" width="100%" height="100%"/> </mx:Application> 代码中添加了一个标记<mx:UTComponent>制定了宽度和高度,其实这里的id="mapContainer"就是装入GoogleMap的一个容器。你必须指定一个唯一的id,否则Flex无法识别加载。接着下载需要的packet. Java代码 import com.google.maps.Map; import com.google.maps.MapEvent; import com.google.maps.MapType; import com.google.maps.LatLn import com.google.maps.Map; import com.google.maps.MapEvent; import com.google.maps.MapType; import com.google.maps.LatLn 紧接着定义一个变量指向google map 的一个实例。 Java代码 private var gMap:Map; private var gMap:Map; 接下来就开始定义一个init()的函数,该函数在Flex程序被加载的时候被调用,用来完成程序的实例创建以及属性的配置。当这些都被设置好了之后,你要在地图被完全加载的时候创建一个event handler来把地图潜入mapContainer指定的位置。 Java代码 private function init():void { gMap = new Map(); gMap.key = "{YOUR_API_KEY_HERE}"; gMap.width = 600; gMap.height = 400; gMap.addEventListener(MapEvent.MAP_READY, mapReadyHandler); mapContainer.addChild(gMap); } private function init():void { gMap = new Map(); gMap.key = "{YOUR_API_KEY_HERE}"; gMap.width = 600; gMap.height = 400; gMap.addEventListener(MapEvent.MAP_READY, mapReadyHandler); mapContainer.addChild(gMap); } 最后就是在map完全加载的时候定义的event handler,指定了显示地图的坐标以及设置应用程序的大小。完整的代码: Java代码 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" initialize="init()" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import com.google.maps.Map; import com.google.maps.MapEvent; import com.google.maps.MapType; import com.google.maps.LatLng; private var gMap:Map; private function init():void { gMap = new Map(); gMap.key = "你申请的key"; gMap.width = 600; gMap.height = 400; gMap.addEventListener(MapEvent.MAP_READY, mapReadyHandler); mapContainer.addChild(gMap); } private function mapReadyHandler(e:MapEvent):void { gMap.setCenter(new LatLng(42.334184,-71.018372), 13, MapType.HYBRID_MAP_TYPE); gMap.setSize(new Point(mapContainer.width, mapContainer.height)); } ]]> </mx:Script> <mx:UIComponent id="mapContainer" width="100%" height="100%"/> </mx:Application> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" initialize="init()" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import com.google.maps.Map; import com.google.maps.MapEvent; import com.google.maps.MapType; import com.google.maps.LatLng; private var gMap:Map; private function init():void { gMap = new Map(); gMap.key = "你申请的key"; gMap.width = 600; gMap.height = 400; gMap.addEventListener(MapEvent.MAP_READY, mapReadyHandler); mapContainer.addChild(gMap); } private function mapReadyHandler(e:MapEvent):void { gMap.setCenter(new LatLng(42.334184,-71.018372), 13, MapType.HYBRID_MAP_TYPE); gMap.setSize(new Point(mapContainer.width, mapContainer.height)); } ]]> </mx:Script> <mx:UIComponent id="mapContainer" width="100%" height="100%"/> </mx:Application> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-12
有没有Google map的api
|
|
返回顶楼 | |