Я делаю веб-приложение во Flex, используя глобальные координаты
Я получаю координаты в виде строк из веб-службы, затем я делаю что-то вроде этого:
latStr:String = "28.7242100786401";
longStr:String = "-106.12635420984";
var cLat:Number = new Number(latStr);
var cLong:Number = new Number(longStr);
Это работает ОТЛИЧНО в IE и chrome, с веб-сервера и при локальной отладке, но Firefox работает только при локальной отладке , а не с веб-сервера, на веб-сервере cLat
и cLong
возврат "NaN
".
Проверьте сами, при нажатии на результат должно появиться предупреждение:
http://mundobuk.com/prueba/mapa/main.html?buscar=oxxo
, поэтому я попытался использовать parseFloat()
, но оно округляет cLat
до 28
и cLong
до -106
: (
Затем я попытался отделить десятичные числа от целых чисел, как в моем примере 28 и 7242100786401, затем разделить 7242100786401/10000000000000 = 0,7242100786401
с двумя числами 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);
опять же, этот способ отлично работает везде, только не в Firefox на веб-сервере> _>
у кого-нибудь есть идеи? я схожу с ума от этого @ _ @