易截截图软件、单文件、免安装、纯绿色、仅160KB

Google Map 编码折线算法Java实现

网络上流传着一个Google Map 编码折线算法的Java实现,但是计算结果与GOOGLE  MAP API 帮助里面的交互工具的计算结果有出入,所以自己写了一一个,计算结果与GOOGLE  MAP API 帮助里面的交互工具的计算结果一致。package unit;
/**
* Google Map 编码折线算法Java实现
*
* @author libin
*/
public class GPolyline2 {
/**
* 处理有符号整数
*
* @param point
* @return
*/
private static String encodeSignedNumber(int point) {
// 对二进制低位补0
int _point_int = point << 1;
// 如果原来的数是负数则求反,取其补码
if (point < 0) {
_point_int = ~_point_int;
}
return (encodeNumber(_point_int));
}
/**
* 处理无符号整数
*
* @param num
* @return
*/
private static String encodeNumber(int num) {
String resultString = "";
while (num >= 0x20) {
int _block = num & 0x1F;
_block = (_block | 0x20) + 63;
char _result = (char) _block;
resultString += _result;
num >>= 5;
}
resultString += (char) (num + 63);
return resultString;
}
/**
* 计算编码级别
*
* @param line
* @return
*/
public static String encodeLevel(String line) {
int level = 3;// 设置编码级别
String encodeLel = encodeNumber(level);// 计算出编码级别,因为预先固定,考虑效率问题,只计算一次
StringBuffer result = new StringBuffer();
int length = line.split(";").length;// 得到点个数
for (int i = 0; i < length; i++) {
result.append(encodeLel);
}
// System.out.println("2level: " + result.toString());
return result.toString();
}
/**
* 计算编码折线
*
* @param line
* @return
*/
public static String createEncodings(String line) {
String[] _points = null;
String _result = "";
int plat = 0;
int plng = 0;
_points = line.split(";");// 每个经纬度坐标值以";"分隔
for (String _point : _points) {
String[] _latlng = _point.split(",");// 经纬度值之间以","分隔


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

JAVA反射小结

1  JAVA的反射,其实就是通过一个实例化的对象反过来去找到一个类的完整信息,比如对于如下的形式:
X x=new X();
   x.getClass().getName();
这里就会输出这个类所在的完整信息,即"包名.类名";
  最常用的三种实例化CLASS类对象
Class<?> c1 = null ;  // 指定泛型
  C ......

java日期有效性验证

 private static boolean isValidDate(String strValue ) {//20091001字符串 
     
   int d = Integer.parseInt(strValue.substring(6, 8));
   int m = Integer.parseInt(strValue.substring(4, 6));
   int y = Integer.parseInt(strValue.subst ......

八 java面向对象程序设计(构造方法)

八 java面向对象程序设计(构造方法)
/**
 * 面向对象之二
 * 构造方法(构造机):
 *
 * 1,构造方法的特征:
 * 它具有与类相同的名称;
 * 它不含返回值;
 * 它不能在方法中用return语句返回一个值
 * 注意:在构造方法里不含返回值的概念是不同于“void&rdquo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号