Okay, also ich versuche, eine Variable über eine Javascript-Methode aufrufen. Dies funktioniert jedoch nicht. Ich googelte und beendete ip zurück und versuchte swLiveConnect, aber das ist veraltet und es stellt sich heraus, dass mein Weg jetzt der Weg ist, es zu tun. Also hier ist meine JavaScript-Funktion und ActionScript. Ich habe keine Ahnung was vor sich geht, ich verbeuge mich vor den geschickteren Actioncriptern.Javascript und Actionscript 3 [Einstellen einer Variable Probleme]
Action
//==========================================================
function decide_proposal(e:Event):void {
//==========================================================
var address1:String = form1.project_address.text + ", " + form1.project_city.text + ", " + form1.project_state.text + ", " + form1.project_zip.text;
var distance:Number = ExternalInterface.call("showLocation(" + address1 + ")");
var commit:String = e.currentTarget.name;
if (form1.stories.value >= 2.5 || form1.wood_no.selected || form1.framed_sqft.value >= 5000 || form1.roof_slope.value < 3 || form1.civil.selected || form1.cmt.selected || form1.commercial.selected || form1.c.selected || distance >= 180 || form1.bore_holes1.value >= 4) {
send_proposal(e);
} else if (commit == "quote") {
perform_calculations(distance);
} else {
send_proposal(e);
}
}
Javascript
var geocoder;
var location1;
function initialize() {
geocoder = new GClientGeocoder();
}
function showLocation(address) {
var locations = 0;
geocoder.getLocations(address, function (response) {
if (!response || response.Status.code != 200)
{
alert("There was an error");
}
else
{
location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0]};
}
});
var glatlng1 = new GLatLng(location1.lat, location1.lon);
var brenham = new GLatLng(30.152289,-96.384881);
var college_station = new GLatLng(30.610584,-96.306002);
var miledistance1 = glatlng1.distanceFrom(brenham);
var miledistance2 = glatlng1.distanceFrom(college_station);
if (miledistance1 <= miledistance2) {
locations = (miledistance1 * .000621371192);
} else {
locations = (miledistance2 * .000621371192);
}
return locations;
}
window.onload=function() {initialize();}
Ich bin ziemlich sicher, dass es etwas mit Rückkehr zu tun hat, aber ich bin nicht sicher. An diesem Punkt habe ich versucht zu verfolgen, welche Adresse an die Funktion übergeben wird, ist es richtig. Ich habe verfolgt, was die Entfernung vor und nach dem Anruf eingestellt ist. Vorher, NaN; nach, 0. Von Firebug bekomme ich die richtige Nummer. Ich weiß es einfach nicht.
Bitte wählen Sie Ihre eigene Antwort als die 'ausgewählte Antwort' –
Oh Liebes. "Doh!" Nun, meine Antwort klang gut. :-) –
Haha, ich landete immer noch mit deinem Code Curt, es war einfach besser so, egal ob es mein Problem gelöst hat. Wer weiß, selbst wenn ich es gelöst hätte, hätte ich wahrscheinlich immer noch tun müssen, was Sie gesagt haben. Dmitri, sie lassen Sie 48 Stunden warten, bevor Sie Ihre eigene Antwort auswählen können. Ab sofort kann ich es immer noch nicht tun. Werde wenn ich kann! Danke nochmal Curt. –