このドキュメントでは、地図の外観をカスタマイズし、データの公開設定とビューポート オプションを制御する方法について説明します。その方法は次のとおりです。
- クラウドベースのマップのスタイル設定を使用する
- 独自のコードで地図スタイル オプションを直接設定する
クラウドベースのマップのスタイル設定で地図のスタイルを設定する
JavaScript ユーザーのルート共有地図に地図のスタイルを適用するには、JourneySharingMapView
を作成するときに mapId
とその他の mapOptions
を指定します。
次の例は、マップ ID を使用して地図のスタイルを適用する方法を示しています。
JavaScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
mapId: 'YOUR_MAP_ID'
}
// Any other styling options.
});
TypeScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
mapId: 'YOUR_MAP_ID'
}
// Any other styling options.
});
独自のコードで地図のスタイルを直接設定する
JourneySharingMapView
の作成時に地図オプションを設定して、地図のスタイルをカスタマイズすることもできます。次の例は、地図オプションを使用して地図のスタイルを設定する方法を示しています。設定できる地図オプションについて詳しくは、Google Maps JavaScript API リファレンスの mapOptions
をご覧ください。
JavaScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
styles: [
{
"featureType": "road.arterial",
"elementType": "geometry",
"stylers": [
{ "color": "#CCFFFF" }
]
}
]
}
});
TypeScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
styles: [
{
"featureType": "road.arterial",
"elementType": "geometry",
"stylers": [
{ "color": "#CCFFFF" }
]
}
]
}
});
SDK に対するタスクデータの公開設定を制御する
可視性ルールを使用して、地図上の特定のタスク オブジェクトの可視性を制御できます。
タスクデータのデフォルトの公開設定
デフォルトでは、車両に割り当てられたタスクのデータは、車両がタスクから 5 停留所以内にある場合に表示されます。タスクが完了またはキャンセルされると、公開は終了します。
次の表に、各タスクタイプのデフォルトの公開設定を示します。多くのタスクの公開設定をカスタマイズできますが、すべてではありません。タスクタイプの詳細については、スケジュール設定されたタスクガイドのタスクタイプをご覧ください。
タスクの種類 | デフォルトの公開設定 | カスタマイズ可能 | 説明 |
---|---|---|---|
不在タスク | 非表示 | いいえ | ドライバーの休憩や給油に使用されます。配達タスクのルートに別の車両停留所が含まれている場合、その停留所に不在タスクのみが含まれている場合、その停留所は表示されません。配送タスク自体には、到着予定時刻とタスク完了予定時刻が引き続き表示されます。 |
車両のタスクを開く | 表示 | はい | タスクが完了またはキャンセルされると、公開は終了します。 未解決の車両タスクの公開設定をカスタマイズできます。オープンな車両タスクの公開設定をカスタマイズするをご覧ください。 |
クローズされた車両のタスク | 非表示 | いいえ | クローズされた車両タスクの公開設定をカスタマイズすることはできません。 |
未解決の車両タスクの表示をカスタマイズする
TaskTrackingInfo
インターフェースには、Consumer SDK で表示できるタスクデータ要素がいくつか用意されています。
カスタマイズ可能なタスクデータ要素 | |
---|---|
ルート ポリライン 到着予定時刻 タスクの完了までの推定時間 |
タスクまでの残りの運転距離 残りの停留所数 車両の位置情報 |
タスクごとの公開設定オプション
可視性の構成は、Fleet Engine 内でタスクを作成または更新するときに TaskTrackingViewConfig
を設定して、タスクごとにカスタマイズできます。次の公開設定オプションを使用して、タスク要素の公開設定を決定する条件を作成します。
公開設定オプション | ||
---|---|---|
残りの停留所数 到着予定時刻までの所要時間 残りの走行距離 |
常に表示 非表示 |
たとえば、カスタマイズの例で、次の表に示す条件を使用して 3 つのデータ要素の公開設定を調整するとします。他のすべての要素は、デフォルトの公開設定ルールに従います。
調整するデータ要素 | 公開設定 | Criterion |
---|---|---|
ルート ポリライン | 表示 | 車両が 3 つ目の停留所以内にある。 |
ETA | 表示 | 残りの走行距離が 5,000 メートル未満である。 |
残りの停留所数 | 表示しない | 車両が 3 つ目の停留所以内にある。 |
次の例は、この構成を示しています。
"taskTrackingViewConfig": {
"routePolylinePointsVisibility": {
"remainingStopCountThreshold": 3
},
"estimatedArrivalTimeVisibility": {
"remainingDrivingDistanceMetersThreshold": 5000
},
"remainingStopCountVisibility": {
"never": true
}
}
ルート ポリラインと車両位置の公開設定ルール
車両の位置も表示されない限り、ルート ポリラインを表示することはできません。車両の位置が表示されている場合は、ポリラインの終点から車両の位置を推測できます。
これらのガイドラインは、ルート ポリラインと車両位置情報の公開設定の有効な組み合わせを提供するために役立ちます。
同じ公開設定オプション | 公開設定の条件 | ガイダンス |
---|---|---|
ルート ポリラインのオプションが常に表示される設定になっている。 | 車両の位置情報を常に表示するように設定します。 | |
車両の位置情報の公開を [表示しない] に設定している。 | ルート ポリラインを非表示に設定します。 | |
公開設定オプションは次のいずれかです。
|
ルート ポリライン オプションを、車両の位置に設定された値以下の値に設定します。次に例を示します。 "taskTrackingViewConfig": { "routePolylinePointsVisibility": { "remainingStopCountThreshold": 3 }, "vehicleLocationVisibility": { "remainingStopCountThreshold": 5 }, } |
|
さまざまな公開設定オプション | 公開設定の条件 | ガイダンス |
車両の位置情報が表示される | これは、車両の位置情報とポリラインの公開設定オプションの両方が満たされている場合にのみ行われます。次に例を示します。 "taskTrackingViewConfig": { "routePolylinePointsVisibility": { "remainingStopCountThreshold": 3 }, "vehicleLocationVisibility": { "remainingDrivingDistanceMetersThreshold": 3000 }, } この例では、残りの停留所数が 3 以上で、残りの走行距離が 3, 000 メートル以上の場合のみ、車両の位置情報が表示されます。 |
自動フィットを無効にする
自動フィットを無効にすると、地図のビューポートが車両と予想ルートに自動的にフィットしなくなります。次の例は、ルート共有地図ビューを構成するときに自動フィットを無効にする方法を示しています。
JavaScript
const mapView = new
google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
automaticViewportMode:
google.maps.journeySharing
.AutomaticViewportMode.NONE,
...
});
TypeScript
const mapView = new
google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
automaticViewportMode:
google.maps.journeySharing
.AutomaticViewportMode.NONE,
...
});