グローバル座標を使用してFlexでWebアプリを作成しています
Webサービスから文字列として座標を取得し、次のようにします。
latStr:String = "28.7242100786401";
longStr:String = "-106.12635420984";
var cLat:Number = new Number(latStr);
var cLong:Number = new Number(longStr);
これは、IEとChromeで、Webサーバーからローカルでデバッグするときに完全に機能しますが、Firefoxは、Webサーバーからではなく、Webサーバーでローカルにデバッグするときにのみ機能し、「」cLat
をcLong
返しますNaN
。
自分でチェックしてください。結果をクリックするとアラートがポップアップ表示されます:http: //mundobuk.com/prueba/mapa/main.html?buscar = oxxo
だから私はを使ってみましたが、それはにparseFloat()
丸めcLat
られます:(28
cLong
-106
次に、例28と7242100786401のように、小数を整数から分離してから、7242100786401/10000000000000=0.7242100786401を除算してみました。
2つの数字28と0.7242100786401を持っています私はそれらを合計します
28 + 0.7242100786401 = 28.7242100786401
ここにコード形式があります:
var latArr:Array = latStr.split(".");
var longArr:Array = longStr.split(".");
var latDivStr:String = "1";
for (var i:int= 0; i< latArr[1].length; i++){
latDivStr += "0";
}
var longDivStr:String = "1";
for (var j:int = 0; j< longArr[1].length; j++){
longDivStr += "0";
}
var cLat:Number = parseFloat(latArr[0]) + arseFloat(latArr[1])/parseFloat(latDivStr);
var cLong:Number = parseFloat(longArr[0]) - parseFloat(longArr[1])/parseFloat(longDivStr);
繰り返しになりますが、この方法は、WebサーバーのFirefoxではなく、どこでもうまく機能します> _>
誰かアイデアはありますか?私はこの@_@に夢中になる