我使用全局坐标在Flex中创建一个Web应用程序
我从网络服务获取坐标作为字符串然后我做这样的事情:
latStr:String = "28.7242100786401";
longStr:String = "-106.12635420984";
var cLat:Number = new Number(latStr);
var cLong:Number = new Number(longStr);
这对IE和Chrome来说是完美的,来自网络服务器以及在本地调试时,但 Firefox只能在本地调试时运行而不是来自Web服务器,在Web服务器{{ 1}}和cLat
返回“cLong
”。
自己检查一下,点击结果时会弹出警报: http://mundobuk.com/prueba/mapa/main.html?buscar=oxxo
所以我尝试使用NaN
,但它将parseFloat()
转为cLat
,将28
转为cLong
:(
然后我尝试将小数形式从整数中分离出来,比如我的例子28和7242100786401,然后除以7242100786401/10000000000000 = 0.7242100786401
有两个数字28和0.7242100786401我把它们加起来
28 + 0.7242100786401 = 28.7242100786401
这是代码形式:
-106
再次,这种方式在任何地方都很有用,只是在web服务器中没有firefox> _>
谁有任何想法?我疯了这个@ _ @答案 0 :(得分:1)
我从来没有听说过这样的错误,因为Flash运行时应该让不同的浏览器和操作系统以相同的方式解释SWF。我会说我不相信你应该在你的号码铸造前面使用“新”。
latStr:String = "28.7242100786401";
longStr:String = "-106.12635420984";
var cLat:Number = new Number(latStr);
var cLong:Number = new Number(longStr);
这应该是:
var cLat:Number = Number(latStr); //Number is right because its a Floating Point, but remove new.
var cLong:Number = Number(longStr); //Number is right because its a Floating Point, but remove new.
我测试了使用以下内容并且没有看到圆角发生。
var latStr:String =“28.7242100786401”; var longStr:String =“ - -106.12635420984”;
trace(parseFloat(latStr)); //Outputs: "28.7242100786401";
trace(parseFloat(longStr)); //Outputs: "-106.12635420984";
trace(Number(latStr)); //Outputs: "28.7242100786401";
trace(Number(longStr)); //Outputs: "-106.12635420984";
我不明白为什么要求这种解决方法。我也使用firefox作为我的主浏览器,你的网站似乎工作正常。
干杯。
答案 1 :(得分:1)
逗号是许多欧洲国家/地区的分隔符,因此很可能是服务器或客户端上的区域配置。
答案 2 :(得分:0)
我终于找到了为什么它不起作用,因为某些原因在Firefox中而不是读点(。)它从Web服务读取一个逗号(,)(在vb.net中完成)
本地它也把它读作一个点,而不是在线,所以我想它必须对我的IIS服务器做一些事O_o
希望这可以帮助那些人...