Вы должны определить onResult и onFault в своем приложении - где бы вы ни вызывали geocodeLocation
- и затем передать их в вашу функцию в качестве аргументов после адреса. Ваша onResult
функция будет получать данные, анализировать точку и что-то с ней делать. Ваша функция geocodeLocation
ничего не вернет.
public function geocodeLocation(address:String, onResult:Function, onFault:Function):void
{
//call Google Maps API Geocode service directly over HTTP
var httpService:HTTPService = new HTTPService;
httpService.useProxy = false;
httpService.url = //"URL WILL GO HERE";
httpService.method = HTTPRequestMessage.GET_METHOD;
var asyncToken : AsyncToken = httpService.send();
asyncToken.addResponder( new AsyncResponder( onResult, onFault));
}
А потом в вашем приложении где-то:
function onResult( e : ResultEvent, token : Object = null ) : void
{
var jsonValue:String=""
//parse JSON and get value, logic not implemented yet
var point:Point = new Point();
//do something with point
}
function onFault( info : Object, token : Object = null ) : void
{
Alert.show(info.toString());
//sad face
}
var address:String = "your address here";
geocodeLocation(address, onResult, onFault);
Когда веб-служба отвечает, управление переходит либо к вашей функции onResult, где вы будете анализировать Point и делать с ней что-то полезное, либо к вашей функции onFault.
Кстати, у вас могут возникнуть проблемы с вызовом геокодера Google Maps, возможно, лучше использовать официальный SDK и воспользоваться их кодом: http://code.google.com/apis/maps/documentation/flash/services.html