是否可以使用公共交通工具创建等值线或使用Here API创建自行车?

时间:2019-10-07 23:34:36

标签: r shiny leaflet here-api

我正在尝试基于this Isolines Shiny app创建一些东西。

这使用the Here API。可以在Mode中使用公共交通工具和骑自行车,但是当我这样做时,出现了一个错误:

  

等值API失败,出现以下错误:InvalidInputData

the documentation的角度来看,公共交通和骑自行车只能用于路线选择,而不能用于等值线。

这是相关的Shiny代码(受上述应用的影响很大):

    is_valid = validate_inputs(session, input$origin, input$departure, input$min, input$max, input$step)

    if(is_valid) {

        progress$status$set(message = 'Requesting...')

        departure = paste0(input$departure, ' ',input$time, ':00:00')
        range_type = switch(input$range_type, 'Time (minutes)' = 'time', 'Distance (metres)' = 'distance')
        unit = switch(input$range_type, 'Time (minutes)' = ' minutes', 'Distance (metres)' = ' metres')
        mode = switch(input$mode, 'Pedestrian' = 'pedestrian', 'Public Transport' = 'publicTransport', 'Bike' = 'bicycle', 'Car' = 'car')
        isoline_sequence = if(input$range_type == 'Time (minutes)') {
            seq(input$min, input$max, input$step) * 60 %>% sort()
        } else {
            round(seq(input$min, input$max, input$step), digits = 0) %>% sort()
        }

        layers = sapply(1:length(isoline_sequence), function(x) {
            progress$status$inc(amount = 1/length(isoline_sequence),
                                message = paste0('Processing request ', x, ' of ', length(isoline_sequence)))
            isoline(str_remove(input$origin, ' '), departure = departure, range_type = range_type,
                    range = isoline_sequence[x], mode = mode, app_id = keys$app_id, app_code = keys$app_code)
        })

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

到目前为止,calculate Isoline API仅支持cartruckpedestrian传输模式。 请参阅文档: https://developer.here.com/documentation/routing/topics/resource-calculate-isoline.html

  

等值线请求中支持的类型:最快,最短。

     

等值线请求中支持的运输模式:汽车,卡车(仅适用于最快的类型),行人。