操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    for iOS開發(fā)指南(12):在iOS 中使用地理定位

    在開始這篇教程之前,你應(yīng)該預(yù)先閱讀并按下面的這篇教程實(shí)際操作過:

    這篇教程講述了定位你的iOS 的基本步驟(使用經(jīng)緯度),并使用 (反向地址編碼)來轉(zhuǎn)換成可以閱讀的地址,如下圖所示:

    設(shè)計(jì)用戶界面

    這個(gè)示例程序使用兩個(gè)主要的組件設(shè)計(jì)而成:一個(gè)(在左邊)和一個(gè)。

    在中,設(shè)置Align屬性為來保留UI的整個(gè)左邊為它所用。然后在上創(chuàng)建下面這些子控件:

    一個(gè)顯示標(biāo)題為“ Demo”的組件

    一個(gè)開關(guān)控件來選擇開啟/關(guān)閉

    在你創(chuàng)建完這些組件之后,選擇所有的項(xiàng)目,然后在屬性中選擇為l。這允許來同時(shí)顯示一個(gè)Label和詳細(xì)信息文本。

    位置傳感器

    位置傳感器由組件封裝。

    觸發(fā)一個(gè)事件,當(dāng)檢測(cè)到移動(dòng)時(shí)。你可以使用屬性來調(diào)整的靈敏度。如果你設(shè)置為“10”,當(dāng)你移動(dòng)了“10”米時(shí),就會(huì)觸發(fā)事件。

    從組件獲取位置信息(經(jīng)緯度)

    首先,組件需要激活才能使用。可以基于你的輸入來開啟/關(guān)閉,例如使用一個(gè)組件,或其他應(yīng)用程序事件。

    這里有一段代碼,它根據(jù)組件值的更改來控制:

    procedure TForm44.Switch1Switch(Sender: TObject);
    begin
      LocationSensor1.Active := Switch1.IsChecked;
    end;
    

    就像之前提到過的,當(dāng)你移動(dòng)iOS 時(shí)就會(huì)觸發(fā)一個(gè)事件。你可以在這個(gè)事件處理過程中使用它的參數(shù)來顯示當(dāng)前的位置,方法如下:

    procedure TForm44.LocationSensor1LocationChanged(Sender: TObject;
      const OldLocation, NewLocation: TLocationCoord2D);
    begin
    

    百度地圖 反地理編碼_ios 地理位置反編碼_ios 百度地圖地理編碼

    // Show current location ListBoxItemLatitude.ItemData.Detail := NewLocation.Latitude.ToString; ListBoxItemLongitude.ItemData.Detail := NewLocation.Longitude.ToString; end;

    通過組件使用 Maps來顯示當(dāng)前的位置

    之前在“iOS教程:在iOS應(yīng)用程序中使用組件”這篇教程中講到過的,組件封裝了iOS的。

    你可以從組件來調(diào)用 Maps,使用如下URL參數(shù):

    (-value),(- value)&=embed

    因此你可以添加這個(gè)URL到你之前創(chuàng)建的事件處理過程中,如下:

    procedure TForm44.LocationSensor1LocationChanged(Sender: TObject;
      const OldLocation, NewLocation: TLocationCoord2D);
    var
      URLString: String;
    begin
      // code for previous step goes here
     
      // Show Map using Google Maps
      URLString := Format(
    

    ios 百度地圖地理編碼_百度地圖 反地理編碼_ios 地理位置反編碼

    'https://maps.google.com/maps?q=%s,%s&output=embed', [NewLocation.Latitude.ToString, NewLocation.Longitude.ToString]); WebBrowser1.Navigate(URLString); end;

    使用反向地理編碼

    是一個(gè)封裝了地理編碼(或反向地理編碼)服務(wù)的對(duì)象。

    地理編碼是翻譯地理數(shù)據(jù)的過程,例如地址和郵編,轉(zhuǎn)換成地理坐標(biāo)。反向地理編碼是將地地理坐標(biāo)轉(zhuǎn)換成地理數(shù)據(jù)的過程,例如地址:

    在我們這個(gè)例子中,我們使用將我們的位置(以經(jīng)緯度的形式)“反向地理編碼”成可讀的地址信息。

    這里是使用的基本操作步驟:

    1. 創(chuàng)建一個(gè)的實(shí)例。

    2.定義一個(gè)事件,以便你之后能夠接收到這個(gè)事件。

    3.設(shè)置數(shù)據(jù)來執(zhí)行“反向地址編碼”。

    4.訪問網(wǎng)絡(luò)上的服務(wù)來處理地址信息。

    5. 觸發(fā)一個(gè)事件。

    6.你的iOS應(yīng)用通過事件的參數(shù)來接收地址信息,然后更新用戶界面。

    因?yàn)椴皇且粋€(gè)組件(它只是一個(gè)類),你需要通過你的代碼來定義這些步驟(你不能拖放一個(gè)組件ios 地理位置反編碼,也不能通過 來賦一個(gè)事件處理過程)。

    首先,在窗體的聲明區(qū)域定義一個(gè)新的成員“:”。你也可以照著下面這段代碼來定義一個(gè)“nt過程”。

     
    type
      TForm44 = class(TForm)
        // IDE defines visible (or non-visual) components here automatically
      private
        { Private declarations }
    

    百度地圖 反地理編碼_ios 地理位置反編碼_ios 百度地圖地理編碼

    FGeocoder: TGeocoder; procedure OnGeocodeReverseEvent(const Address: TCivicAddress); public { Public declarations } end;

    當(dāng)你定義了這2行代碼,將光標(biāo)定位到t,然后按Ctrl+Shift+C,這會(huì)在你的代碼中創(chuàng)建如下過程(之后你會(huì)使用到的):

    procedure TForm44.OnGeocodeReverseEvent(const Address: TCivicAddress);
    begin
     
    end;
    

    現(xiàn)在你可以創(chuàng)建一個(gè)的實(shí)例,并使用下列代碼來初始數(shù)據(jù)。

    .提供了實(shí)際實(shí)現(xiàn)服務(wù)的類類型,“..”調(diào)用指定類類型的構(gòu)造方法,然后保存到成員。你也需要指定一個(gè)事件處理過程,它在完成反向地理編碼時(shí)觸發(fā)。將t(你之前那一步剛剛定義的)賦給.。

    最后ios 地理位置反編碼,如果你成功創(chuàng)建了一個(gè)的實(shí)例,并且沒有運(yùn)行,使用地址信息調(diào)用.。當(dāng)接收到數(shù)據(jù)之后,nt事件就觸發(fā)了。

    procedure TForm44.LocationSensor1LocationChanged(Sender: TObject;
      const OldLocation, NewLocation: TLocationCoord2D);
    

    ios 地理位置反編碼_百度地圖 反地理編碼_ios 百度地圖地理編碼

    begin // code for previous steps goes here // Setup an instance of TGeocoder if not Assigned(FGeocoder) then begin if Assigned(TGeocoder.Current) then FGeocoder := TGeocoder.Current.Create; if Assigned(FGeocoder) then FGeocoder.OnGeocodeReverse := OnGeocodeReverseEvent; end; // Translate location to address if Assigned(FGeocoder) and not FGeocoder.Geocoding then FGeocoder.GeocodeReverse(NewLocation); end;

    ios 百度地圖地理編碼_ios 地理位置反編碼_百度地圖 反地理編碼

    在組件中顯示一個(gè)可讀的地址

    之前提到過的,在反向地理編碼完成之后,一個(gè)t會(huì)觸發(fā)。

    接下來,將地址參數(shù)中的屬性賦給在中的字段:

    procedure TForm44.OnGeocodeReverseEvent(const Address: TCivicAddress);
    begin
      ListBoxItemAdminArea.ItemData.Detail       := Address.AdminArea;
      ListBoxItemCountryCode.ItemData.Detail     := Address.CountryCode;
      ListBoxItemCountryName.ItemData.Detail     := Address.CountryName;
      ListBoxItemFeatureName.ItemData.Detail     := Address.FeatureName;
      ListBoxItemLocality.ItemData.Detail        := Address.Locality;
      ListBoxItemPostalCode.ItemData.Detail      := Address.PostalCode;
      ListBoxItemSubAdminArea.ItemData.Detail    := Address.SubAdminArea;
      ListBoxItemSubLocality.ItemData.Detail     := Address.SubLocality;
      ListBoxItemSubThoroughfare.ItemData.Detail := Address.SubThoroughfare;
      ListBoxItemThoroughfare.ItemData.Detail    := Address.Thoroughfare;
    end;
    

    翻譯的不好,請(qǐng)大家賤諒!

    歡迎加入 For FMX 技術(shù)支持QQ群

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有