2016-12-02 69 views
-1

我仍然困惑为什么我要'TMapView'在第47行不包含名为'Location'的成员。我也尝试混合并且与演示代码示例相匹配,但我不明白发生了什么问题。我的猜测是,我需要一个私人或公共的声明..但我遇到了很多麻烦,试图找到适当的文件关于它......没有得到它基本上。请注意,我对Delphi编程完全陌生。'TMapView'不包含名为'Location'的成员

下面的代码:

unit MainUnit; 

interface 

uses 
    System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 
    FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, 
    FMX.Controls.Presentation, FMX.MultiView, FMX.Layouts, FMX.ExtCtrls, FMX.Maps, 
    FMX.TabControl; 

type 
    TMainForm = class(TForm) 
    MultiView1: TMultiView; 
    MainPanel: TPanel; 
    HeaderPanel: TPanel; 
    Button1: TButton; 
    TabControl1: TTabControl; 
    TabItem1: TTabItem; 
    TabItem2: TTabItem; 
    TabControl2: TTabControl; 
    PrimaryImageViewer: TImageViewer; 
    TabItem3: TTabItem; 
    TabItem4: TTabItem; 
    PrimaryMapView: TMapView; 
    SecondaryMapView: TMapView; 
    SecondaryImageViewer: TImageViewer; 
    Label1: TLabel; 
    procedure FormShow(Sender: TObject); 
    private 
    { Private declarations } 
    public 
    { Public declarations } 
    end; 

var 
    MainForm: TMainForm; 

implementation 

{$R *.fmx} 

procedure MainForm.FormShow(Sender: TObject); 

begin 

    SecondaryMapView.Location := TMapCoordinate.Create(59.965, 30.35); 
    SecondaryMapView.Zoom := 10; 


end; 

end. 
+0

你懂什么错误消息意味着 –

+0

@DavidHeffernan我不明白是什么意思,但我不明白怎么解决它。 – exxe

+0

你是否有要交的文件。这有帮助吗? –

回答

1

Mobile Tutorial: Using a Map Component to Work with Maps (iOS and Android)

您需要添加一个TMapCoordinate变量,从47行删除Location所以可以先通过值,然后传递位置到地图。在第47行下面添加Location := mapCenter,如下所示,或者查看上面的链接。

procedure MainForm.FormShow(Sender: TObject); 
var 
    mapCenter: TMapCoordinate; 
begin 
    mapCenter := TMapCoordinate.Create(59.965, 30.35);//this might be a Float 
    SecondaryMapView.Location := mapCenter; 
    SecondaryMapView.Zoom := 10; 
end; 
+0

我认为这是我需要的。我不知道要键入来添加TMapCoordinate变量。 – exxe

+0

这就是答案,只是还有一个问题......地图仍然不会自动加载当前用户的位置,而是自动加载指定的坐标。我如何根据用户的位置默认/自动地检测当前用户的位置并将地图居中? – exxe

相关问题