Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++Delphi

コンポーネントを利用してWebブラウザ上に現在位置を表示してみよう [JAPAN]

Delphi/C++Builderで現在の緯度経度を取得し、さらに現在位置の地図を表示する方法についてご説明します。

サマリ

  • iOSやAndroidで現在の緯度経度を知ることができます。

  • 地図表示には TMapView を用いる方法と、Webブラウザ経由で地図サイトを表示する方法があります。

以下の内容は、Youtube で公開済みの How to ビデオの内容に添って説明いたします。


 

また、本件については下記ページょの情報も併せてお読みください。

http://docwiki.embarcadero.com/RADStudio/ja/モバイル_チュートリアル:位置センサを使用する(iOS_および_Android)

使用するコンポーネント

  • TLocatioinSensor

  • TWebBrowser

  • TListBox

    • ListBoxItem

緯度経度の取得

Delphi/C++Builderでは、LocationSensorのコンポーネントを用いて現在の緯度経度を知ることができます。緯度経度はGPS測位による実測に加えて近隣のWiFiアクセスポイントからも決定できますが、実際の位置決定は個々のOSの機能に基づいて行なわれます。

そして測位された緯度経度は、onLocationChanged のイベントで取得できます。

![TLocationSensorのイベント設定](https://community.embarcadero.com/uploads/10818/20170612/slide55.png

)

なお、TLocationSensor をフォームに配置した時点では、プロパティの Active が False の状態です。アプリ起動時点で TLocationSensor を有効にしたい場合は、Active = True に設定しておきます。

![TLocationSensorのプロパティ設定](https://community.embarcadero.com/uploads/10818/20170612/slide125.png

)

現在位置の地図表示(Webブラウザ使用)

LocationSensor で取得した緯度経度を用いて地図表示するWebページを TWebBrowser で表示させれば、アプリケーション内で地図表示ができます。

例えば Googleマップでは、指定した緯度経度の地図を以下のようなURLで表示可能です。

https://maps.google.com/maps?q=(Latitude-value),(Longitude-value)

では、このような処理を行うコードをDelphi/C++で実装してみることにしましょう。

その他の補足事項

今回の説明では Google マップをブラウザで表示させているだけですが、もっと高機能な処理を行いたい場合は Google Maps API の利用を検討してください。

特に、今回のビデオでは説明を省略しているのですが、

TMapView のコンポーネントを用いれば、iOSとAndroidでOS標準機能n地図を用いたアプリが実装できます。ただしAndroid向けのビルドでは、Google Maps Android API の APIキーが必要です

これについては、下記2つのURLを併せてご参照ください。

http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Google_マップを使用できるよう_Android_アプリケーションを構成する

https://developers.google.com/maps/documentation/android-api/signup?hl=ja

pastedimage1544258702657v3-5119542

RAD Studio 13.2 Florence Now Available! Kai 1.1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES