概要:
目的地までの行き方がわからない、このようなケースが頻繁にあるかと思います。そのためSimplifica Softwareでは、sca.SDMapViewユーザーコントロールを作成しました。
このユーザーコントロールは、GeneXusのSD Mapsユーザーコントロールと同じ機能を持ち、更に2つの地点を結ぶルートを地図上に表示することが可能です。
対象環境:
Android, iOS
機能:
- Grid上にある1つの地点しか選択していない場合は、デバイスの現在位置と選択された地点のルートを探索します。
- Grid上に2つの地点が選択された場合は、1つめの選択地点を出発地、2つめの選択地点を目的地としてルートを探索します。
- 出発地と目的地は簡単に入れ替えができます。
- Google Placesサービスを利用して登録地点や目的地の選択が可能です。
- 同じ出発地と目的地で複数のルートの選択が可能です。
ユーザーコントロールは、SD Mapsと同じプロパティを持っています。以下のものが設定可能です。
Google Places API Key (iOS)
Google Places Api Key (Android)
Google Places APIは、アプリケーションの識別のためAPIキーを利用します。APIキーは、Google APIコンソールで管理されています。利用にあたっては独自のAPIキーの取得が必要となります。APIキーの取得は次の手順を実施します。
- Google APIコンソール(https://code.google.com/apis/console)にアクセスし、あなたのユーザーIDでログインします。
- 初めてコンソールにログインした場合は、API Projectを作成します。画面上部に配置されているAPI Projectをクリックして新しいプロジェクトを作成するか、作成済みのプロジェクトを利用します。Google Maps for Businessを利用しているユーザーは、そこで使用しているユーザーで作成したプロジェクトを利用してください。
- Api Manager/Library画面でProyectを作成し、 Google Maps Android API リンクをクリックします。
- 左メニューのServicesをクリックします。
- Api Manager/Library画面に戻り、Google Places API for Android、Google Maps SDK for iOS、 Google Places API for iOSで同様の手順を実施します。
- MenuよりCredentialsオプションを選択し、Create Credentialsをクリックします。Api Keyオプションを選択すると Pop Up画面が表示されるので、Android Keyボタンを押下します。
- Credentials/Create Android API key画面が表示されます。createボタンをクリックすると、画面にキーが表示されます。
- iOS用のキーも同様の手順で取得してください。
- 約5分後に取得したキーが使用可能になります。
- Location Name Attribute: ロケーション Attribute上のGeoロケーションに表示するtext項目です。
リテラル:
- SCA_StartingPoint
- SCA_EndPoint
- SCA_Start
- SCA_End
- SCA_CurrentLocation
- SCA_Route
- SCA_NoRouteFound
- SCA_CurrentLocationFailed
- SCA_CurrentLocationFailedMsg
各リテラルの設定方法:
- SD Panelで次のようにコーディングを実施します。
Event 'Literals'
&aux = "SCA_StartingPoint"
&aux = "SCA_EndPoint"
&aux = "SCA_Start"
&aux = "SCA_End"
&aux = "SCA_CurrentLocation"
&aux = "SCA_Route"
&aux = "SCA_NoRouteFound"
&aux = "SCA_CurrentLocationFailed"
&aux = "SCA_CurrentLocationFailedMsg"
EndEvent
- Folder ViewのCustomization\Localizationツリーで使用する言語を選択し、各リテラルに対応するLocalized Textを登録することでマルチ言語対応が可能です。
- environmentプロパティで, Translation Typeにrun-timeを設定してください。
実行例: