В этом документе описано, как настроить внешний вид карты, а также управлять видимостью данных и параметрами области просмотра. Это можно сделать следующими способами:
- Используйте облачное оформление карт.
- Задавайте параметры стиля карты непосредственно в собственном коде.
Оформите карту с помощью облачных инструментов для оформления карт.
Чтобы применить стиль карты к вашей JavaScript-карте для совместного использования поездок, укажите mapId и любые другие mapOptions при создании объекта JourneySharingMapView .
Следующие примеры показывают, как применить стиль карты с помощью идентификатора карты.
JavaScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
mapId: 'YOUR_MAP_ID'
}
// Any other styling options.
});
Машинопись
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
mapId: 'YOUR_MAP_ID'
}
// Any other styling options.
});
Сопоставление стилей непосредственно в вашем собственном коде
Вы также можете настроить стиль карты, задав параметры карты при создании JourneySharingMapView . В следующих примерах показано, как настроить стиль карты с помощью параметров карты. Для получения дополнительной информации о том, какие параметры карты можно установить, см. mapOptions в справочнике по JavaScript API Google Maps.
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" }
]
}
]
}
});
Машинопись
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.
| Настраиваемые элементы данных задачи | |
|---|---|
Полилинии маршрута Примерное время прибытия Расчетное время выполнения задачи | Оставшееся расстояние до места выполнения задачи (в милях от дома) Осталось остановок. местоположение транспортного средства |
Параметры видимости для каждой задачи
Вы можете настроить параметры видимости для каждой задачи отдельно, задав параметр TaskTrackingViewConfig при создании или обновлении задачи в Fleet Engine. Используйте следующие параметры видимости для создания критериев определения видимости элемента задачи:
| Параметры видимости | ||
|---|---|---|
Осталось остановок. Продолжительность до расчетного времени прибытия Оставшееся расстояние на автомобиле | Всегда видимый Никогда не виден | |
Для иллюстрации предположим, что в примере настройки видимость трех элементов данных регулируется с использованием критериев, показанных в следующей таблице. Все остальные элементы подчиняются правилам видимости по умолчанию.
| Элемент данных для корректировки | Видимость | Критерий |
|---|---|---|
| Полилиния маршрута | Показывать | Транспортное средство находится в пределах 3 остановок. |
| ЭТА | Показывать | Оставшееся расстояние для проезда составляет менее 5000 метров. |
| Осталось остановок. | Никогда не показывай | Транспортное средство находится в пределах 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 И оставшееся расстояние до места назначения составляет не менее 3000 метров. |
Отключить автоматическую установку
Вы можете отключить автоматическую подгонку карты под транспортное средство и предполагаемый маршрут, чтобы предотвратить её автоматическую подгонку. В следующем примере показано, как отключить автоматическую подгонку при настройке режима просмотра карты для совместного использования маршрута.
JavaScript
const mapView = new
google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
automaticViewportMode:
google.maps.journeySharing
.AutomaticViewportMode.NONE,
...
});
Машинопись
const mapView = new
google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
automaticViewportMode:
google.maps.journeySharing
.AutomaticViewportMode.NONE,
...
});