私は gmlib (1.5.3、XE10) を使用しており、TGeometry.interpolate 関数を使用しようとしましたが、常に 0.00,0.00 を返します。コードを参照すると、GMFunctions.pas の関数 interpolate が空であることがわかりました??
よろしく
私は gmlib (1.5.3、XE10) を使用しており、TGeometry.interpolate 関数を使用しようとしましたが、常に 0.00,0.00 を返します。コードを参照すると、GMFunctions.pas の関数 interpolate が空であることがわかりました??
よろしく
おお!ごめんなさい!
このコードで試してみてください!(未検証)
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;
フィードバックをお願いします。ありがとう!