我使用全局坐标在 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 中不行>_>
有人有想法么?我要疯了@_@