Skip to content
GuidesPlaygroundDashboard

Optimize route through waypoints

OptimizeResult optimize().create(OptimizeCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/api/v1/optimize

Optimize route through waypoints

ParametersExpand Collapse
OptimizeCreateParams params
OptimizeRequest optimizeRequest

Route optimization request through waypoints

ReturnsExpand Collapse
class OptimizeResult: A class that can be one of several variants.union

Optimization response — either a completed GeoJSON Feature route or an async job reference

class OptimizeCompletedResult:

Completed optimization — GeoJSON Feature with optimized route

Coordinates coordinates

GeoJSON coordinates array (nesting depth varies by geometry type)

One of the following:
List<double>
List<List<double>>
List<List<List<double>>>
List<List<List<List<double>>>>
Type type
One of the following:
POINT("Point")
LINE_STRING("LineString")
POLYGON("Polygon")
MULTI_POINT("MultiPoint")
MULTI_LINE_STRING("MultiLineString")
MULTI_POLYGON("MultiPolygon")
Properties properties
Optional<Double> distance

Total distance in meters

Optional<Double> duration

Estimated duration in seconds

Optional<List<Long>> waypointOrder

Optimized waypoint ordering

Status status

Job status

Type type
class OptimizeProcessingResult:

Async optimization in progress — poll with the job_id

String jobId

Job ID for polling

Status status

Job status

Optimize route through waypoints

package com.plazafyi.example;

import com.plazafyi.client.PlazaClient;
import com.plazafyi.client.okhttp.PlazaOkHttpClient;
import com.plazafyi.models.GeoJsonGeometry;
import com.plazafyi.models.optimize.OptimizeCreateParams;
import com.plazafyi.models.optimize.OptimizeRequest;
import com.plazafyi.models.optimize.OptimizeResult;
import java.util.List;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        PlazaClient client = PlazaOkHttpClient.fromEnv();

        OptimizeRequest params = OptimizeRequest.builder()
            .waypoints(GeoJsonGeometry.builder()
                .coordinatesOfNumber(List.of(0.0))
                .type(GeoJsonGeometry.Type.POINT)
                .build())
            .build();
        OptimizeResult optimizeResult = client.optimize().create(params);
    }
}
Returns Examples