如何实现这个gis问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 12:27:19
下面有这个需求:
填写运输单,包括:起点和终点.
起点和终点通过地图选择,选择地图上某一个地点,在输入框中自动填上地点.比如在地图上,选择北京,起点输入框自动填上"北京"。终点选择“上海”,终点输入框自动填上上海。
然后在两点之前画一条路线。有一个点在动。如何实现呢。
有点类似mapabc的驾车路线。但不需要很精准,对地图数据要求也不高。

(1)两点间画一条直线
(2)画一个图标(代表这辆车),将其定位到直线一端
(3)定时移动这个点

MapInfo安装文件夹下有一些开发例子,其中车辆移动显示的(Delphi)
\MapInfo\MapX 5.0\Samples50\Delphi\ANIMATION_LAYER

下面是定时移动车辆的代码

procedure TfrmCarTracker.Timer1Timer(Sender: TObject);
var
dYcomp, dXcomp, dYpos, dXpos: Double;
iCount: Integer;
begin
for iCount := 0 to iVehicleCount - 1 do
begin
if fArray[iCount].iSpeed <> 0 then
begin
with fArray[iCount] do
begin
dYcomp := iSpeed * Sin(dHeading * 3.14159 / 180);
dXcomp := iSpeed * Cos(dHeading * 3.14159 / 180);
dYpos := fFeature.CenterY + (1 / 69 * dYcomp * Timer1.interval / 1000 * 1 /3600);
dXpos := fFeature.CenterX + (1 / 69 * dXcomp * Timer1.interval / 1000 * 1 /3600);