Bug记录:微博的Java SDK返回经纬度错误
现象:美国的坐标点可能会定位到西藏地区…后发现原来负经度经解析后,均变成正的!
源码:
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) 就可以。
private void getGeoInfo(String geo) {
	StringBuffer value= new StringBuffer();
	for(char c:geo.toCharArray()){
		if(c>44&&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());
}
Bug记录:微博的Java SDK返回经纬度错误的更多相关文章
- 微博开发平台java SDK demo学习之friendships
		
本文解释了在java SDK的demo中与feiendships有关的功能 截图如下: 关注一个用户(需要知道该用户uid) 取消关注一个用户(用户uid) 获取用户粉丝列表(授权用户的screen_ ...
 - 微博java SDK介绍及使用说明
		
转自:作者:新浪微博 开放平台 @MUNTO_AKIRA http://open.weibo.com/blog/%E5%BE%AE%E5%8D%9Ajava-sdk%E4%BB%8B%E7%BB%8D ...
 - 【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
		
问题情形 使用Java SDK编写的Event Hub消费端应用,随机性遇见了某个分区没有消费消息的情况,在检查日志时候,有发现IdelTimeExpired的错误记录.在重启应用后,连接EventH ...
 - 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验
		
[阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人 初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...
 - 关于js SDK的程序,java SDK的程序
		
一:JS SDK 1.修改配置workspace 2.导入 3.Demo.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Trans ...
 - Nacos系列:Nacos的Java SDK使用
		
Maven依赖 Nacos提供完整的Java SDK,便于配置管理和服务发现及管理,以 Nacos-0.8.0 版本为例 添加Maven依赖: <dependency> <group ...
 - 094实战 关于js SDK的程序,java SDK的程序
		
一:JS SDK 1.修改配置workspace 2.导入 3.Demo.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Trans ...
 - Java SDK夯住(Hang)问题排查
		
夯住(Hang)是指程序仍在运行,卡在某个方法调用上,没有返回也没有异常抛出:卡住时间从几秒到几小时不等. Java程序发生Hang时,应该首先使用 jstack 把java进程的堆栈信息保存下来 , ...
 - java SDK服务端推送 --极光推送(JPush)
		
网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andr ...
 
随机推荐
- Android 布局之LinearLayout 子控件weight权重的作用详析(转)
			
关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...
 - linux centos 卸载jdk
			
1.先看看OpenJDK的安装包 $ rpm -qa |grep java tzdata-java-2013b-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.61 ...
 - Android学习-各种对话框
			
在android的编程中,对话框的用处是非常多的,然而,有时对对话框的需求也是不一样的,那么现在,就总结对话框的种类,以及事件的处理形势. 1.简单的对话框 public void showDialo ...
 - SE 2014年5月23日
			
两站点 A 和 B,由于业务往来需要,所以工程师提出vpn技术,同时需要保证业务流在internet上的安全性,同时在这里站点均为固定ip地址. 通过分析以上信息,确定这里使用 IPSec VPN的主 ...
 - HDU   1164   Eddy's research I【素数筛选法】
			
思路:将输入的这个数分成n个素数的相乘的结果,用一个数组存储起来.之后再输出就能够了 Eddy's research I Time Limit: 2000/1000 MS (Java/Others) ...
 - jconsole线程面板中的阻塞总数和等待总数(转)
			
阻塞总数 Blocked count is the total number of times that the thread blocked to enter or reenter a monito ...
 - VBA怎样统计同一类型的数据的总和
			
今天是2014-11-01 是周末,忙了一周了,最终能够闲下来了.想起近期工作用到的VBA的一个场景,结合VBA的数组,所以就想试试看.结果还好.出来了.这年头,又玩起了VB了,经过多时才接受了VB的 ...
 - 搭建ganglia集群而且监视hadoop CDH4.6
			
前言 近期在研究云监控的相关工具,感觉ganglia颇有亮点,能从一个集群总体的角度来展现数据. 但是安装过程稍过复杂,相关依赖稍多,故写此文章与大家分享下. 本文不解说相关原理,若想了解请參考其它资 ...
 - UNIX网络编程卷1  时间获取程序server TCP 协议相关性
			
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie 最初代码: 这是一个简单的时间获取server程序.它和时间获取程序client一道工作. ...
 - Mac maven环境变量配置
			
近期一直在学习使用Macbook,在这里记录一下全部遇到的问题 问题起源: 1.Macbook 安装了Eclipse,Eclipse装入插件maven & git , 可是在git中clone ...