guoln 发表于 2012-1-6 10:53:30

Google MAP编码折线算法的Java实现

首先,在Google API上所描画的算法如下:   下面说明了对此类有符号值停止编码的步骤。  取初始有符号值:  -179.9832104   将其取十进制值乘以 1e5,皙肤泉净痘无痕精华凝露并取整:  -17998321   将十进制值转换为二进制值。请留意负值必需求反,并以值填充字节边界:  00000001 00010010 10100001 11110001   11111110 11101101 10100001 00001110   11111110 11101101 01011110 00001111   变换二进制值:  11111110 11101101 01011110 00001111 0   假如原来的十进制值是正数,则对以下编码求反:  00000001 00010010 10100001 11110000 1   将该二进制值分为 5 位一组的块(从右侧末尾):   00001 00010 01010 10000 11111 00001   将这些 5 位一组的块倒序放置:  00001 11111 10000 01010 00010 00001   假如后面还有一个位块,则将每个值与 0x20 停止“或”操作 (OR)::  100001 111111 110000 101010 100010 000001   将每个值转换为十进制:  33 63 48 42 34 1
页: [1]
查看完整版本: Google MAP编码折线算法的Java实现