Hallo,
ich möchte eine mit diesem
Algorithmus enkodierte Polyline wieder dekodieren.
Leider hab ich nur folgenden Javascript gefunden:
Code:
//decode compressed route geometry
_decode: function(encoded, precision) {
precision = Math.pow(10, -precision);
var len = encoded.length, index=0, lat=0, lng = 0, array = [];
while (index < len) {
var b, shift = 0, result = 0;
do {
b = encoded.charCodeAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
var dlat = ((result & 1) ? ~(result >> 1) : (result >> 1));
lat += dlat;
shift = 0;
result = 0;
do {
b = encoded.charCodeAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
var dlng = ((result & 1) ? ~(result >> 1) : (result >> 1));
lng += dlng;
//array.push( {lat: lat * precision, lng: lng * precision} );
array.push( [lat * precision, lng * precision] );
}
return array;
}
};
Jemand eine Idee wie man dies am besten in Delphi lösen könnte?