`
hereson
  • 浏览: 1449981 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Flex中嵌入Google地图

    博客分类:
  • flex
阅读更多
本文将介绍如何使用Flex Builder建立一个Flex内嵌Google Map的例子。首先呢,先下载 Google Maps SDK 【解压到某个文件夹内,找到lib内的map_flex_1_1.swc,到时候需要导入Project中 】,以及去申请一个developers API key .【申请的时候需要填写网页地址:如果你使用本地的连接测试:比如http://localhost:8080/GoogleMap ,这样填写就好了,GoogleMap是我们将要建立的一个Flex Project 名字】。打开Flex Builder,新建Flex Project【File > New Flex Project】:GoogleMap 。我使用的BlazeDS建立我的Web形式的Application【使用的服务器是J2EE】。这样最后建立好之后,需要导入map_flex_1_1.swc【右键点击GoogleMap-properties--Flex build path--library path--add swc..】

之后就可以开始我们的Google Map之旅了。

Java代码 复制代码
  1. ?xml version="1.0" encoding="utf-8"?>   
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  
  3.   width="100%" height="100%" initialize="init()">   
  4.            
  5.     <mx:Script>   
  6.         <![CDATA[   
  7.                    
  8.         ]]>   
  9.     </mx:Script>   
  10.            
  11.     <mx:UIComponent id="mapContainer" width="100%" height="100%"/>   
  12.        
  13. </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代码 复制代码
  1. import com.google.maps.Map;   
  2. import com.google.maps.MapEvent;   
  3. import com.google.maps.MapType;   
  4. 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代码 复制代码
  1. private var gMap:Map;  
private var gMap:Map;

 接下来就开始定义一个init()的函数,该函数在Flex程序被加载的时候被调用,用来完成程序的实例创建以及属性的配置。当这些都被设置好了之后,你要在地图被完全加载的时候创建一个event handler来把地图潜入mapContainer指定的位置。

Java代码 复制代码
  1. private function init():void  
  2. {   
  3.     gMap = new Map();   
  4.     gMap.key = "{YOUR_API_KEY_HERE}";   
  5.     gMap.width = 600;   
  6.     gMap.height = 400;   
  7.     gMap.addEventListener(MapEvent.MAP_READY, mapReadyHandler);   
  8.        
  9.     mapContainer.addChild(gMap);   
  10. }  
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代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" initialize="init()" viewSourceURL="srcview/index.html">   
  3.        
  4.     <mx:Script>   
  5.         <![CDATA[   
  6.                
  7.             import com.google.maps.Map;   
  8.             import com.google.maps.MapEvent;   
  9.             import com.google.maps.MapType;   
  10.             import com.google.maps.LatLng;   
  11.                
  12.             private var gMap:Map;   
  13.                
  14.             private function init():void  
  15.             {   
  16.                 gMap = new Map();   
  17.                 gMap.key = "你申请的key";   
  18.                 gMap.width = 600;   
  19.                 gMap.height = 400;   
  20.                 gMap.addEventListener(MapEvent.MAP_READY, mapReadyHandler);   
  21.                    
  22.                 mapContainer.addChild(gMap);   
  23.             }   
  24.                
  25.             private function mapReadyHandler(e:MapEvent):void  
  26.             {   
  27.                 gMap.setCenter(new LatLng(42.334184,-71.018372), 13, MapType.HYBRID_MAP_TYPE);   
  28.                 gMap.setSize(new Point(mapContainer.width, mapContainer.height));   
  29.             }   
  30.                
  31.         ]]>   
  32.     </mx:Script>   
  33.        
  34.     <mx:UIComponent id="mapContainer" width="100%" height="100%"/>   
  35.        
  36. </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>
 

编译执行【http://localhost:8080/GoogleMap/GoogleMap.html 】你就会看到demo中的效果了。但是如果你使用的不是http这种浏览方式,比如是file:/// 等看到的图片可能会有debug的符号:

但是都不影响它的其他功能。

原创作者:mkeefe 。翻译整理:一路风尘
分享到:
评论

相关推荐

    Arcgis server for flex 如何调用google地图

    Google Maps API提供了JavaScript版本,可以在Web应用程序中嵌入Google地图。在Flex项目中,可以使用`ExternalInterface`类来调用JavaScript函数,实现Flex与JavaScript的交互。首先在HTML页面中包含Google Maps API...

    Flex3实现的谷歌地图实例

    这个API允许开发者在Flex应用中嵌入谷歌地图,进行地图显示、缩放、平移、标记点、信息窗口等功能。在Flex中,通常需要创建一个Map组件,然后设置其地图类型、初始位置、缩放级别等属性,并通过事件监听器处理用户的...

    flex 4 学习资料

    Flex中嵌入Google地图 - 菩提树 - ITeye技术网站 分享:Flex builder3执行Debug需要安装的Flash Player Debugger环境 百度空间_应用平台 flex4 的DataGrid里面加一列CheckBox并实现数据交互的试验 - 暖阳下的猫的...

    flex做的googlemaps

    3. **集成过程**: 使用Flex与Google Maps API集成,通常需要在Flex应用中嵌入一个iFrame或者通过Ajax技术加载地图API。另一种方法是使用Flex的HTTPService或WebService组件与Google Maps API的Web服务接口进行通信。...

    flex谷歌地图

    而谷歌地图API则是谷歌提供的服务,允许开发者将地图功能嵌入到自己的网站或应用中。 首先,要搭建Flex Google地图开发环境,你需要以下几个关键组件: 1. **Adobe Flex SDK**:这是开发Flex应用的基础,它包含...

    flex 于地图结合

    这些API允许开发者将动态地图嵌入到Flex应用中,提供缩放、平移、标记点、路径绘制等多种地图操作。对于初级开发者来说,这样的框架提供了便捷的工具,可以快速实现地图展示和交互功能。 首先,我们需要在Flex项目...

    flex地图应用教程

    2. **地图组件**:Flex地图组件是地图应用的基础,它允许开发者在应用中嵌入地图,并提供缩放、平移等交互功能。例如,`Map`组件是ESRI ArcGIS Flex API中的核心组件,用于显示地图内容。 3. **图层管理**:地图...

    flex地图(地球玩家的API)

    Flex地图组件则允许开发者在Flex应用中嵌入地图服务,展示地理位置信息,提供交互式的地图体验。 地球玩家的API,顾名思义,是专为地球玩家设计的一套接口,允许开发者在其应用程序中嵌入地球视角的地图,提供动态...

    flex结合Google Map

    Google Maps API是Google提供的一组JavaScript接口,允许开发者在自己的网站或应用中嵌入Google Maps,并进行自定义。它可以实现地图的显示、标记、路径绘制、地理编码、卫星图像切换等功能,广泛应用于地理位置相关...

    Flex项目Google IFrame使用

    在Flex项目开发中,有时我们需要将外部网页内容嵌入到我们的应用中,这时Google IFrame就成为了一个常用的选择。IFrame(Inline Frame)是HTML的一种元素,它允许我们在一个网页中嵌入另一个网页,这对于展示第三方...

    谷歌地图flash插件源码

    谷歌地图Flash插件源码是基于Adobe Flex技术开发的,用于在网页中嵌入和操作谷歌地图的服务。Flex是ActionScript 3.0的一个开发框架,它提供了丰富的用户界面组件和强大的数据绑定功能,用于创建交互式的富互联网...

    flex加载各种底图

    这些API允许开发者在Flex应用中嵌入地图,进行交互操作,如缩放、平移、标记点、绘制路线等。 在压缩包内的“MapServiceTest”可能是一个测试类或者整个项目模块,用于验证地图服务的功能。它可能包含了初始化地图...

    Flex 4 加载Google Map地形图demo

    在本示例中,“Flex 4加载Google Map地形图demo”是一个展示如何在Flex 4应用中集成并显示Google Maps API的地形图层的项目。下面将详细讨论Flex 4与Google Maps API的集成以及地形图的实现。 1. **Flex 4 基础** ...

    用Flex和GMap API制作自己的地图

    开发者可以通过JavaScript与API交互,将地图嵌入到网页中,并自定义样式、标记、图层等。为了在Flex项目中使用GMap API,我们需要通过Flash External Interface(ExternalInterface)来调用JavaScript函数,实现Flex...

    flex实现googelMap

    Google Maps API则是一个强大的服务,提供了在网页或应用中嵌入地图的功能。本篇文章将深入探讨如何使用Flex来实现Google Map功能。 首先,`lib`目录可能包含Flex SDK和Google Maps for Flex的相关库文件。在Flex中...

    google map for flex

    Flex版Google Map API是Google为Adobe Flex开发者提供的接口,它允许开发者在Flex应用程序中集成Google Maps服务,提供交互式的地图体验。Flex是一种基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用...

    GoogleMap_for_flex_sdk.zip

    本篇文章将深入探讨如何在Adobe Flex环境中集成和使用Google Maps SDK,以此来创建功能强大的地图应用程序。 一、Flex SDK与Google Maps的结合 Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,用于...

    flex-iframe-1.4.6

    在实际开发中,这种技术可以用于实现各种功能,比如在Flex应用中嵌入第三方地图服务、在线视频播放器,或者任何其他需要在Flex界面内展示的外部HTML内容。通过flex-iframe-1.4.6,开发者能够更灵活地扩展Flex应用...

    JS_建立基于ArcGIS_Server的Javascript_API和Flex_API的地图应用.pdf

    - **Virtual Earth / Google Maps**:通过JavaScript API或扩展,可以将ArcGIS Server的地图服务嵌入到这些平台中。 - **ArcGIS Explorer**:Esri自家的地图查看工具,支持多种GIS服务。 - **OpenLayers**:一个开源...

Global site tag (gtag.js) - Google Analytics