论坛首页 编程语言技术论坛

Flex中嵌入Google地图

浏览 4613 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-24  
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()">  
          
    <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>
   发表时间:2010-08-12  
有没有Google map的api
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics