0
我與gmlib(1.5.3,XE10)工作,並試圖用TGeometry.interpolate功能,但總是返回0.00,0.00。我瀏覽代碼,我注意到GMFunctions.pas中的函數插值是空的?TGeometry.interpolate是空
Regards
我與gmlib(1.5.3,XE10)工作,並試圖用TGeometry.interpolate功能,但總是返回0.00,0.00。我瀏覽代碼,我注意到GMFunctions.pas中的函數插值是空的?TGeometry.interpolate是空
Regards
哇!非常抱歉!!
使用此代碼試試! (未測試)
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;
請給我一個反饋。謝謝!
完美!謝謝@cadetill! – Ramiro
好的,在[GitHub](https://github.com/cadetill/gmlib_v1)中更新。謝謝 – cadetill