Charging Route

この章では新しくEV向けのルートを探索するための方法を紹介します。

EV向けルートの特徴

  • 現在のバッテリ容量、到着時のバッテリ容量閾値、および充電開始目安から、充電が必要な場合に自動で充電施設を立ち寄り地に設定したルートを探索します。
  • 自動的に追加される充電施設は最大5カ所です。
  • ユーザーが任意に設定できる立ち寄り地は195箇所です。

EV向けルート探索方法

EV向けルートを探索するには車両情報(EnergyInfo)が必要です。 EnergyInfoの基本的な設定方法はこちらを参照してください。

これに加え、EnergyInfo.ExtendChargingAreaの設定が必須です。

例えば、日産リーフの設定例は以下の通りです。

EnergyInfo energyInfo = new EnergyInfo();
energyInfo.setModel("ZAA-ZE1"); // 車両型式
energyInfo.setEnergyUnitPrice(31f); // 電気代単価[円/kWh]

EnergyInfo.TypeElectric electric = new EnergyInfo.TypeElectric();
electric.setBattery(40f);
energyInfo.setTypeElectric(electric);

EnergyInfo.ExtendChargingArea chargingArea = new EnergyInfo.ExtendChargingArea();
chargingArea.setBatteryLevel(100); // 現在のバッテリ容量[%]
chargingArea.setBatteryLevelAtSupply(20); // 充電する目安[%]
chargingArea.setBatteryLevelOnArrival(20); // 目的地到着時に残しておきたいバッテリ容量[%]
energyInfo.setExtendChargingArea(chargingArea);

このように設定したenergyInfoRoutePlan.setEnergyInfo()で設定し、Navi.calculateChargingRoute()にてルート探索します。

RoutePlan routePlan = new RoutePlan();
routePlan.setEndPoint(new GeoCoordinate(35.932524, 139.471761));

// 設定したEnergyInfoを適用
routePlan.setEnergyInfo(energyInfo);

Navi.getInstance().calculateChargingRoute(routePlan, (errorCode, calcRouteResult) -> {
	if (errorCode == CalcRouteListener.ErrorCode.NONE) {
		Navi.getInstance().startGuidance(new StartGuidanceListener() {
			@Override
			public void onCompleted(ErrorCode errorCodeOfStartGuidance, GuidePointResult guidePointResult) {
				if (errorCodeOfStartGuidance == StartGuidanceListener.ErrorCode.NONE) {
				}
			}
		});
	} else {
		// ルート探索失敗
	}
});
Note:

設定されたEnergyInfoで、5回充電しても目的地まで到達できないと予想される場合はRouteResultEndPoint.getUnreachableInfo()trueになります。 立ち寄り地が設定されている場合は立ち寄り地ごとの到達可否がRouteResultWayPoint.getUnreachableInfo()にて取得できます。