应用Google Map API(Flash版)显示来访者的位置
最近学习强大的Google Map API(Flash版),根据L4cd.net的教程做了个显示访客地理位置的flash。
具体的教程见:
这个是flex版本的,如果用纯as3参见作者另一边关于纯as3访问Webservice的方法
讲的很详细,很受益。
纯As3版code
package { import com.google.maps.InfoWindowOptions; import com.google.maps.LatLng; import com.google.maps.LatLngBounds; import com.google.maps.Map; import com.google.maps.MapEvent; import com.google.maps.MapMouseEvent; import com.google.maps.MapType; import com.google.maps.overlays.Marker; import com.google.maps.services.ClientGeocoder; import com.google.maps.services.GeocodingEvent; import flash.display.Sprite; import flash.events.Event; import flash.geom.Point; import flash.net.URLLoader; import flash.net.URLRequest; /** * ... * @author cuckoo */ public class GuestLocation extends Sprite { private var map:Map; private var geocoder:ClientGeocoder; private var ip:String; private var local:String; public function GuestLocation() { map = new Map(); map.key = "your api key";//申请地址http://code.google.com/intl/zh-CN/apis/maps/signup.html map.setSize(new Point(stage.stageWidth, stage.stageHeight)); map.addEventListener(MapEvent.MAP_READY, onMapReady); addChild(map); } private function onMapReady(e:MapEvent):void { map.enableScrollWheelZoom(); var xmlList:XMLList; var loader:URLLoader = new URLLoader(); loader.load(new URLRequest("http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx/getGeoIPContext")); loader.addEventListener(Event.COMPLETE, function(e:Event):void { xmlList = XML(e.target.data).children(); ip = xmlList.children()[0]; local = xmlList.children()[1]; geocoder = new ClientGeocoder(); geocoder.addEventListener(GeocodingEvent.GEOCODING_SUCCESS, onSuccess); geocoder.addEventListener(GeocodingEvent.GEOCODING_FAILURE, onFailure); geocoder.geocode(local); trace("loader"); }); } private function onSuccess(e:GeocodingEvent):void { var placemarks:Array = e.response.placemarks; if (placemarks.length > 0) { map.setCenter(placemarks[0].point, 7, MapType.NORMAL_MAP_TYPE); var marker:Marker = new Marker(placemarks[0].point); marker.addEventListener(MapMouseEvent.CLICK, function(e:MapMouseEvent):void { marker.openInfoWindow(new InfoWindowOptions( { title:"欢迎来到cuckoo studio", content:"来自\n" + local + "\n" + ip + "\n的访客" } )); }); map.addOverlay(marker); map.openInfoWindow(placemarks[0].point, new InfoWindowOptions( {title:"欢迎来到cuckoo studio",content:"来自\n" + local + "\n" + ip + "\n的访客" } )); } } private function onFailure(e:GeocodingEvent):void { trace("获取地理位置失败"); } } }
见到几个有意思的地图应用
8bitcity,用来做坦克游戏,来个世界大战应该蛮有意思吧
车行天下,这个使用了Google Map 的3D功能,结合PV3d引擎
艾菲尔铁塔
说点啥吧
页面
腾讯微博
文章标签
营销 倒计时 avatar 三维数字 homestyler 北大关机门 翻墙 Matrix 收录 正则表达式 apple 图片检索 Adobe WP 31号 成人玩具 代理 roxik shoe obj flower puzzle 源码 google java3d 平面设计 人脸识别 Google Map Flash3D 全景 优化 Away3D Alternativa3D Flash网站 Tips最新评论
- Hsinglin 在 发几个今天在校园里拍的全景图 上的评论
- Rming 在 实验室360全景图 上的评论
- 哪种减肥药效果好 在 发几个今天在校园里拍的全景图 上的评论
- jianhualee 在 新作品flash网站-至尊数码-3D图墙 上的评论
- panda 在 away3d中的obj 上的评论







