WEB开发网
开发学院软件开发Java 用 Flex 开发 Google Map 应用程序 阅读

用 Flex 开发 Google Map 应用程序

 2010-01-14 00:00:00 来源:WEB开发网   
核心提示: 调用 ClientGeocoder.geocode() 方法发起地址转换的请求到 Google Server,清单 8 演示了如何用 ClientGeocoder 进行编程,用 Flex 开发 Google Map 应用程序(8),如果地址转换成功将在地图上创建一个 Marker,如果地址转换失

调用 ClientGeocoder.geocode() 方法发起地址转换的请求到 Google Server。

清单 8 演示了如何用 ClientGeocoder 进行编程,如果地址转换成功将在地图上创建一个 Marker,如果地址转换失败则弹出提示窗口。


清单 8. 使用 ClientGeocoder 进行地址到经纬度的转换
//先创建ClientGeocoder实例 
var geocoder:ClientGeocoder = new ClientGeocoder("CN"); 
//注册地址转换成功事件的listener 
geocoder.addEventListener( 
  GeocodingEvent.GEOCODING_SUCCESS,geocodingSuccess); 
//注册地址转换失败事件的listener 
geocoder.addEventListener( 
  GeocodingEvent.GEOCODING_FAILURE,geocodingFailure); 
//发送地址转换请求 
geocoder.geocode(address); 
     
private function geocodingSuccess(event:GeocodingEvent):void { 
  trace(event.response.placemarks[0].address); 
  var placemarks:Array = event.response.placemarks; 
  if (placemarks.length > 0) { 
   //得到返回数组的第一个对象,也就是转换后的经纬度数据 
   var placemark:Object = placemarks[0]; 
   //设置地图中心坐标 
   this.setCenter(placemark.point);    
   createMarker( 
     placemark.point,event.response.placemarks[0].address); 
  } 
} 
    
private function createMarker(point:LatLng,city:String):void { 
 //创建 marker 对象,draggable: true 表示可以在地图上拖动 
 marker = new Marker(point, new MarkerOptions({draggable: true})); 
 var customContent:MyInfoWindowSprite = new MyInfoWindowSprite(); 
 customContent.addEventListener("close", 
   function(event:Event):void { 
    marker.closeInfoWindow(); 
  }); 
 this.addOverlay(marker); 
}    
    
private function geocodingFailure(event:GeocodingEvent):void { 
  Alert.show("Conversion fails"); 
} 

结束语

有了 Google Maps API Flash, Flex 开发人员就可以像 JavaScript 开发人员一样将 Google Map 嵌入到 Web 应用程序中,不同的是 JavaScript 开发人员用的是 Google Maps API for JavaScript 版本,Flex 开发人员用的是 Google Maps API for Flash 版本。

本文示例源代码或素材下载

上一页  3 4 5 6 7 8 

Tags:Flex 开发 Google

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接