zoukankan      html  css  js  c++  java
  • Android实例-LocationSensor位置传感器(XE8+小米2)

     

    结果:

    1.启动后有时会闪退,后来重新做的工程就好了。原因不明(可能与地理反码有关)。

    2.原文是用的GOOGLE地图显示位置,但在咱们这里好像不行,改为百度,但百度用的是HTML文件。太麻烦了,大家自己看百度API吧。

    3.打开二个权限,不过我看了一下工程自动就是打上对号的(Access coarse location、Access fine location)。 

    相关资料:

    官网地址  http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using_Location_Sensors_(iOS_and_Android)

     

    实例代码:

     1 unit Unit1;
     2 
     3 interface
     4 
     5 uses
     6   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
     7   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Sensors,
     8   System.Sensors.Components, FMX.WebBrowser, FMX.Controls.Presentation,
     9   FMX.StdCtrls;
    10 
    11 type
    12   TForm1 = class(TForm)
    13     Button1: TButton;
    14     WebBrowser1: TWebBrowser;
    15     LocationSensor1: TLocationSensor;
    16     Label1: TLabel;
    17     Label2: TLabel;
    18     Label3: TLabel;
    19     Label4: TLabel;
    20     Label5: TLabel;
    21     Label6: TLabel;
    22     Label7: TLabel;
    23     Label8: TLabel;
    24     Label9: TLabel;
    25     Label10: TLabel;
    26     Label11: TLabel;
    27     Label12: TLabel;
    28     Label13: TLabel;
    29     procedure Button1Click(Sender: TObject);
    30     procedure LocationSensor1LocationChanged(Sender: TObject; const OldLocation,
    31       NewLocation: TLocationCoord2D);
    32   private
    33     { Private declarations }
    34     FGeocoder: TGeocoder;//定义地理编码对象
    35     procedure OnGeocodeReverseEvent(const Address: TCivicAddress);//定义地理编码事件
    36   public
    37     { Public declarations }
    38   end;
    39 
    40 var
    41   Form1: TForm1;
    42 
    43 implementation
    44 
    45 {$R *.fmx}
    46 {$R *.NmXhdpiPh.fmx ANDROID}
    47 
    48 procedure TForm1.Button1Click(Sender: TObject);
    49 begin
    50   LocationSensor1.Active := True;
    51 end;
    52 
    53 procedure TForm1.LocationSensor1LocationChanged(Sender: TObject;
    54   const OldLocation, NewLocation: TLocationCoord2D);
    55   var
    56   URLString: String;
    57 begin
    58   //显示经纬度
    59   Label2.Text := Format('纬度:%2.6f', [NewLocation.Latitude]);
    60   Label3.Text := Format('经度:%2.6f', [NewLocation.Longitude]);
    61   //地图显示位置
    62 //  URLString := Format('https://maps.google.com/maps?q=%s,%s',
    63 //    [Format('%2.6f', [NewLocation.Latitude]), Format('%2.6f', [NewLocation.Longitude])]);
    64 //  WebBrowser1.Navigate(URLString);
    65   //地理编码功能
    66   if not Assigned(FGeocoder) then
    67   begin
    68     if Assigned(TGeocoder.Current) then
    69       FGeocoder := TGeocoder.Current.Create;
    70     if Assigned(FGeocoder) then
    71       FGeocoder.OnGeocodeReverse := OnGeocodeReverseEvent;
    72   end;
    73   if Assigned(FGeocoder) and not FGeocoder.Geocoding then
    74     FGeocoder.GeocodeReverse(NewLocation);
    75 end;
    76 
    77 //地理编码事件具体实现
    78 procedure TForm1.OnGeocodeReverseEvent(const Address: TCivicAddress);
    79 begin
    80   label4.Text       := Format('行政区:%s',   [Address.AdminArea]);
    81   label5.Text       := Format('国家代码:%s', [Address.CountryCode]);
    82   label6.Text       := Format('国家名称:%s', [Address.CountryName]);
    83   label7.Text       := Format('特征名称:%s', [Address.FeatureName]);
    84   label8.Text       := Format('地区:%s',     [Address.Locality]);
    85   label9.Text       := Format('邮政编码:%s', [Address.PostalCode]);
    86   label10.Text      := Format('分行政区:%s', [Address.SubAdminArea]);
    87   label11.Text      := Format('分地区:%s',   [Address.SubLocality]);
    88   label12.Text      := Format('分大街:%s',   [Address.SubThoroughfare]);
    89   label13.Text      := Format('大街:%s',     [Address.Thoroughfare]);
    90 end;
    91 
    92 end.
  • 相关阅读:
    阿里云CentOS 7无外网IP的ECS访问外网(配置网关服务器)
    CentOS 7配置成网关服务器
    Mac/Ubuntu下的数据建模工具PDMan,替代PowerDesigner
    Docker卸载高版本重装低版本后启动提示:driver not supported
    Redis连接出现Error: Connection reset by peer的问题是由于使用Redis的安全模式
    Mac流量监控/硬盘监控小工具
    CentOS 7创建自定义KVM模板(现有KVM迁移到另外一台机)
    vi显示行号
    阿里云与微软云的对照表
    CentOS下安装Jenkins(Docker/war/tomcat/java -jar)
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/4810275.html
Copyright © 2011-2022 走看看