Пытаюсь сделать кодирование полилинии на ПХП, но затыкаюсь на 5 шаге документации.
Вот что получилось сейчас:
$points = array('37.593578,55.735094', '37.592159,55.732469', '37.589374,55.734162');
Route2Str($points);
function Route2Str($points)
{
$coef = 1000000;
$prev = Array(0,0);
$out='';
for($i=0; $i < count($points); $i++)
{
$currentPoint = explode(',', $points[$i]);
$currentPoint[0]=($currentPoint[0]*$coef);
$currentPoint[1]=($currentPoint[1]*$coef);
$geoVector[0] = abs(round($currentPoint[0]-$prev[0]));
$geoVector[1] = abs(round($currentPoint[1]-$prev[1]));
$prev=$currentPoint;
$geoVector[0] = str_pad(decbin($geoVector[0]), 32, 0, STR_PAD_LEFT);
$geoVector[1] = str_pad(decbin($geoVector[1]), 32, 0, STR_PAD_LEFT);
preg_match("/([\d]{8})([\
//$out.=base64_encode($ge
//print_r($geoVector);
unset($geo_1[0]);
$geo_1 = array_reverse($geo_1);
$geo_1 = join('', $geo_1);
for($a=0; $a<strlen($geo_1); $a=+6)
{
$out .= base64_encode(bindec(substr($geo_1, $a, 6)));
}
break;
}
echo $out;
}
Т.е. при попытке закодировать в base64 получается не то, что в примере документации.