2016-08-02 3 views
0

Ich arbeite mit gmlib (1.5.3, XE10) und versuchte, TGeometry.interpolate Funktion zu verwenden, aber immer 0,00,00 zurückgibt. Ich blicke den Code und merke, dass die Funktion bei GMFunctions.pas interpoliert ist leer ??TGeometry.interpolate ist leer

Grüße

Antwort

0

wow! So leid!!

Versuchen Sie mit diesem Code! (nicht getestet)

class procedure TGeometry.Interpolate(Map: TCustomGMMap; Origin, Dest: TLatLng; 
    Fraction: Real; Result: TLatLng); 
const 
    StrParams = '%s,%s,%s,%s,%s'; 
var 
    Params: string; 
begin 
    if not Assigned(Result) then Exit; 

    Params := Format(StrParams, [ 
       Origin.LatToStr(Map.Precision), 
       Origin.LngToStr(Map.Precision), 
       Dest.LatToStr(Map.Precision), 
       Dest.LngToStr(Map.Precision), 
       StringReplace(FloatToStr(Fraction), ',', '.', [rfReplaceAll]) 
       ]); 
    THackMap(Map).ExecuteScript('Interpolate', Params); 
    Result.Lat := Result.StringToReal(THackMap(Map).FWC.GetStringField(GeometryForm, GeometryFormInterLat)); 
    Result.Lng := Result.StringToReal(THackMap(Map).FWC.GetStringField(GeometryForm, GeometryFormInterLng)); 
end; 

Bitte geben Sie mir eine Rückmeldung. Vielen Dank!

+0

Perfekt! Danke @cadetill! – Ramiro

+0

ok, aktualisiert in [GitHub] (https://github.com/cadetill/gmlib_v1). Vielen Dank – cadetill