1 para random
Posted by admin | Posted in General | Posted on 20-07-2011
0
http://random1.net84.net/?p=7
http://random1.net84.net/?p=7
Pues como veran me aburro rapidamente de los themes y como ya tenia un tiempo que no posteaba algo nuevo pues me anime de una vez con este tema, principalmente me llamo la atencion por que tiene soporte para mostrar twits y anuncios de ad sense aun que en realidad no los utilizo en fin si lo quieren instalar lo pueden descargar de esta pagina y prometo estar posteando mas seguido, chao.

Theme
Recordando un poco mis tiempo de programador de AS3 deicidi hacer esta aplicacion en mis ratitos de ocio. Lo que hace la aplicacion es que escribes un codigo postal y te muestra a que estado, ciudad y colonia pertenece asi como la ubicacion en un mapa. Aun faltan varias mejoras, para empezar el diseño que esta bien piñata, solo muestra un resultado ya que para un codigo postal puede haber una o mas colonias, aqui es sencillo solo me falta el paginador, al parecer las coordenadas para sacar la ubicacion en el mapa no siempre estan correctas aun que eso es por el webservice que estoy utilizando, asi que haber si encuentro uno mas exacto.
Las ventajas que tiene es que se usa un webservice gratuito para los codigos postales, se muestra como consumir un webservice, se muestra como parsear un XML, se muestra como utilizar muy basicamente la API de yahoo maps asi que espero le sirva a alguien, mas abajo esta el codigo y el .fla
[SWF]http://reydragon.net78.net/wp-content/uploads/2009/09/codigoPostal.swf,400,480[/SWF]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | package{ //autor miyatto 1ra ver 14Oct2009 import flash.display.* import flash.events.* import flash.net.* import flash.text.* import com.yahoo.maps.api.YahooMap; import com.yahoo.maps.api.YahooMapEvent; import com.yahoo.maps.api.core.location.LatLon; import com.yahoo.maps.api.core.location.Address; import com.yahoo.maps.webservices.geocoder.GeocoderResult; import com.yahoo.maps.webservices.geocoder.events.GeocoderEvent; public class CodigosPostales extends MovieClip{ var xmlLoader:URLLoader = new URLLoader(); var xmlData:XML = new XML(); var appid:String = "Tu KeyId de yahoo"; var _address:Address; var _map:YahooMap = new YahooMap(); var lat:Number; var lon:Number; public function CodigosPostales():void { init(); } private function init():void { movieCP.atras.visible = false; movieCP.adelante.visible = false; _map.addEventListener(YahooMapEvent.MAP_INITIALIZE, onMapInit); movieCP.enviar.addEventListener(MouseEvent.MOUSE_UP, onEnviarUP) } private function onEnviarUP(e:MouseEvent):void{ var url:String = new String(); trace("-------------ENVIAR OK----------------"); if(movieCP.cp.text == ""){ trace("nada"); }else{ trace(movieCP.cp.text); url = "http://ws.geonames.org/postalCodeSearch?postalcode=" + movieCP.cp.text + "&country=mx&maxRows=10" xmlLoader.load(new URLRequest(url)); xmlLoader.addEventListener(Event.COMPLETE, onComplete); trace(url); } } private function onComplete(e:Event):void{ xmlData = new XML(e.target.data); trace("-------------XML----------------"); parseXML(xmlData); trace(xmlData); _map.init(appid,myMap.width,myMap.height); } private function parseXML(cpElements:XML){ var colonia:XMLList = new XMLList (cpElements.code.name); var arrColonias:Array = new Array(); var municipio:XMLList = new XMLList(cpElements.code.adminName2); var arrMunicipios:Array = new Array(); var estado:XMLList = new XMLList(cpElements.code.adminName1); var arrEstados:Array = new Array(); var latitud:XMLList = new XMLList(cpElements.code.lat); var arrLatitud:Array = new Array(); var longitud:XMLList = new XMLList(cpElements.code.lng); var arrLongitud:Array = new Array(); var resultados:int = cpElements.totalResultsCount; if (resultados >1) { movieCP.atras.visible = false; movieCP.adelante.visible = false; //movieCP.adelante.addEventListener(MouseEvent.CLICK, clickAdelante); } trace("resultados " + resultados); for each (var est:XML in estado){ arrEstados.push(est); } trace(arrEstados[0]); if (arrEstados[0] == "Distrito Federal"){ movieCP.lMunicipio.text = "Delegación"; }else{ movieCP.lMunicipio.text = "Municipio"; } movieCP.tEstado.text = arrEstados[0]; for each (var col:XML in colonia){ arrColonias.push(col); } trace(arrColonias[0]); movieCP.tLocalidad.text = arrColonias[0] for each (var mun:XML in municipio){ arrMunicipios.push(mun); } trace(arrMunicipios[0]); movieCP.tMunicipio.text = arrMunicipios[0] for each(var ltd:XML in latitud){ arrLatitud.push(ltd) } trace(arrLatitud[0]); lat = arrLatitud[0]; for each(var long:XML in longitud){ arrLongitud.push(long) } trace(arrLongitud[0]); lon = arrLongitud[0]; buscarCoordenadas(); } //MANEJADOR DEL INIT DEL MAPA function onMapInit(event:YahooMapEvent):void{ trace("***********************INICIA MAPA***************************"); _map.addPanControl(); _map.addZoomWidget(); _map.addTypeWidget(); myMap.addChild(_map); } function onMapClose(e:YahooMapEvent):void{ trace("************REMOVER MAPA***************"); myMap.removeChild(_map); } function handleGeocodeSuccess(event:GeocoderEvent):void { trace("LATITUD = " + lat + ", LONGITUD = " + lon); //EN REALIDAD LO QUE NOS IMPORTA MOSTRAR EN EL MAPA SON LAS COORDENADAS QUE ENCONTRAMOS DEL CODIGO POSTAL var latlon:LatLon = new LatLon(lat,lon); // retrieve the first result returned by the geocoder. var result:GeocoderResult = _address.geocoderResultSet.firstResult; // then we'll get the zoom level and center latlon to position the map on. _map.zoomLevel = 3; //AQUI CENTRAMOS EL MAPA EN LAS COORDENADAS QUE PASAMOS _map.centerLatLon = latlon; trace(result.latlon); _map.addCrosshair(); } function buscarCoordenadas():void { // CREAMOS UNA DIRECCION PARA PODER INICIALIZAR EL MAPA PERO ESTA NO SE MOSTRARA EN EL MAPA YA QUE VA A MOSTRAR LAS COORDENADAS _address = new Address("AVE. 1, NEW YORK"); // listen for the GEOCODER_SUCCESS event dispatched when the data comes back from the webservice. _address.addEventListener(GeocoderEvent.GEOCODER_SUCCESS, handleGeocodeSuccess); // send the geocode request. _address.geocode(); } } } |