luomuqinghan / weibo4j

Automatically exported from code.google.com/p/weibo4j
Other
0 stars 1 forks source link

返回经纬度不正确,原因是Status.java中getGeoInfo函数有误! #30

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
现象:
美国的坐标点会可能定位到西藏地区…后发现经度应该是正��
�,解析后变成负的

源代码:
private void getGeoInfo(String geo) {
        StringBuffer value= new StringBuffer();
        for(char c:geo.toCharArray()){
            if(c>45&&c<58){
                value.append(c);
            }
            if(c==44){
                if(value.length()>0){
                    latitude=Double.parseDouble(value.toString());
                    value.delete(0, value.length());
                }
            }
        }
        longitude=Double.parseDouble(value.toString());
    }

原因:"-"的ascii值为45,而if(c>45&&c<58){value.append(c);}这句,不��
�将负号加入到value中,导致出现西经变东经。

解决办法:if(c>45&&c<58)改为if(c>44&&c<58)

Original issue reported on code.google.com by heloow...@gmail.com on 21 Jun 2014 at 12:29