Skip to content
GuidesPlaygroundDashboard

Optimize route through waypoints

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

Optimize route through waypoints

ParametersExpand Collapse
params: OptimizeCreateParams
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

geometry: GeoJsonGeometry
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
distance: Optional<Double>

Total distance in meters

duration: Optional<Double>

Estimated duration in seconds

waypointOrder: Optional<List<Long>>

Optimized waypoint ordering

status: Status

Job status

type: Type
class OptimizeProcessingResult:

Async optimization in progress — poll with the job_id

jobId: String

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

fun main() {
    val client: PlazaClient = PlazaOkHttpClient.fromEnv()

    val params: OptimizeRequest = OptimizeRequest.builder()
        .waypoints(GeoJsonGeometry.builder()
            .coordinatesOfDoubles(listOf(0.0))
            .type(GeoJsonGeometry.Type.POINT)
            .build())
        .build()
    val optimizeResult: OptimizeResult = client.optimize().create(params)
}
Returns Examples