在地图上绘制绕纬度/经度的时间半径

2023-12-12

我正在与gmapsdistanceR 中的包。我有我的 API 密钥,并且我熟悉包中的功能。

然而,我想从相反的方向解决一个问题。而不是仅仅找到Time, Distance, and Status纬度/经度之间是纬度/经度的向量,我想输入一个纬度/经度,并绘制一个可以在 3 小时或更短时间内到达的所有点的区域。然后我想在谷歌地图上画这个。 首先,最好使用佛罗里达州 Marimar:25.9840、-80.2821。

有人有解决此类问题的经验吗?


正如评论中所建议的,您可以注册类似的服务出行时间平台(我在本例中使用的)并使用他们的 API 来获取给定起点的可能目的地。

然后你可以使用 Google 地图(在我的 googleway 包中)将其绘制在地图上

appId <- "TravelTime_APP_ID"
apiKey <- "TravelTime_API_KEY"
mapKey <- "GOOGLE_MAPS_API_KEY"

library(httr)
library(googleway)
library(jsonlite)

location <- c(25.9840, -80.2821)
driveTime <- 2 * 60 * 60

## London example
## location <- c(51.507609, -0.128315)

## sign up to http://www.traveltimeplatform.com/ and get an API key
## and use their 'Time Map' API 

url <- "http://api.traveltimeapp.com/v4/time-map"

requestBody <- paste0('{ 
"departure_searches" : [ 
  {"id" : "test", 
  "coords": {"lat":', location[1], ', "lng":', location[2],' }, 
  "transportation" : {"type" : "driving"} ,
  "travel_time" : ', driveTime, ',
  "departure_time" : "2017-05-03T08:00:00z"
  } 
 ] 
}')

res <- httr::POST(url = url,
                     httr::add_headers('Content-Type' = 'application/json'),
                     httr::add_headers('Accept' = 'application/json'),
                     httr::add_headers('X-Application-Id' = appId),
                     httr::add_headers('X-Api-Key' = apiKey),
                     body = requestBody,
                     encode = "json")

res <- jsonlite::fromJSON(as.character(res))

pl <- lapply(res$results$shapes[[1]]$shell, function(x){
    googleway::encode_pl(lat = x[['lat']], lon = x[['lng']])
})

df <- data.frame(polyline = unlist(pl))

df_marker <- data.frame(lat = location[1], lon = location[2])

google_map(key = mapKey) %>%
    add_markers(data = df_marker) %>%
    add_polylines(data = df, polyline = "polyline") 

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在地图上绘制绕纬度/经度的时间半径 的相关文章

随机推荐

  • SwiftUI 和 AppKit:使用关闭对话框询问是否允许应用程序退出

    我正在使用 Big Sur 和 SwiftUI 以及 SwiftUI 生命周期 我想实现一个警报 询问用户是否可以退出应用程序 SwiftUI 怎么可能做到这一点 它应该看起来像这样 可以使用此代码 此代码打开Alert仅在关键窗口中 im
  • SQL为每个年龄返回100个随机行

    对于每个 i Age 0 100 我想使用所选数据为每个年龄返回 100 个随机行 我不确定是否应该使用 while 循环来完成此操作 或者是否应该使用带有限制的 group by 来完成此操作 我看过很多不同的例子 但我仍然很困惑 SEL
  • 如何在c#中将数组的内容打印到标签[重复]

    这个问题在这里已经有答案了 我想从每个数字之间用逗号分隔的标签显示数组的内容 num1 num6 是从文本框转换而来的整数变量 到目前为止我已经做到了这一点 int number new int 6 num1 num2 num3 num4
  • 在配置中找不到指定的命名连接,不适合与 EntityClient 提供程序一起使用,或者无效

    我有一个实体框架对象 当我将其添加到我的项目中时 connectionstring被添加到app config in the connectionstring部分 但是当我想创建新的entitycontext并使用这个connections
  • 调整 AudioUnit 缓冲区的长度

    我的问题涉及音频单元 为了设计适用于 iPhone 的变声应用程序 使用 Objective C xCode 我使用此网站上的 RemoteIO audioUnit 示例 http atastypixel com blog using re
  • Odoo 10:从向导中调用确认表(是/否)

    我想在我的采购订单中添加一个 取消 按钮 此按钮会将我的记录状态更改为 已取消 当用户单击此按钮时 脚本会验证所有购买查询和提供商订单 如果有任何订单尚未完成或取消 我想添加一个弹出窗口来警告用户有关它们的信息 用户可以取消操作或追查 并取
  • 将 List.Contains 转换为表达式树

    相关 创建具有 3 个条件的 Lambda 表达式 将包含转换为表达式树 在我之前的问题的下面 我遇到了我想写的这个查询Expression Tree版本 List
  • twitter-bootstrap 按钮 javascript 不起作用

    我有一个控制组 其中一个按钮组作为复选框 如下所示 div class control group div
  • 在 Javascript 中将字符串添加到数字

    我有功能addNumber如果我单击具有特定值的按钮 该值将连接到变量 b 但如果 a 的值不是数字 则该函数不起作用 我缺少什么 我认为该函数使用参数 a 就像它是一个字符串一样 否则 数字就会被累加起来 因此 如果b 0 a x 的结果
  • 已安装的软件包在 Google Cloud Shell 中消失

    我尝试在 Google Cloud Platform Console 中安装一堆 python 包 但磁盘空间不足 安装失败 有趣的是 在某些时候 网络连接丢失了 我应该重新连接它 然后我检查了一些在尝试安装其他 python 软件包之前已
  • 从 Python 运行 bash 脚本

    我需要从 Python 运行 bash 脚本 我让它按如下方式工作 import os os system xterm hold e scipt sh 这不完全是我正在做的事情 但几乎是我的想法 工作正常 打开一个新的终端窗口 我将其保留用
  • 合并具有多个匹配项的数据框时仅选择第一行

    我有两个数据框 数据 和 分数 并想将它们合并到 id 列上 data data frame id c 1 2 3 4 5 state c KS MN AL FL CA scores data frame id c 1 1 1 2 2 3
  • JavaScript 错误:“不是函数”

    看起来 smth 不是函数 是 JavaScript 中一个非常常见的问题 但是在查看了相当多的线程之后 我仍然无法理解在我的情况下是什么导致了它 我有一个自定义对象 定义为 function Scorm API 12 var Initia
  • phpunit 中未定义的 action()

  • 何时使用 std::begin 和 std::end 而不是容器特定版本[重复]

    这个问题在这里已经有答案了 是否有任何一般偏好或规则来解释何时应使用容器特定版本的 begin 和 end 而不是自由函数std begin and std end 据我了解 如果函数是模板 其中容器类型是模板参数 那么std begin
  • 绑定 odeint 变量

    我正在使用 odeint 来模拟一个系统 其中有几个变量不应小于零 是否有适当的方法将 odeint 中的变量绑定到特定范围 在odeint中不存在这种可能性 我想没有算法可以做到这一点 您必须以某种方式对 ODE 中的界限进行编码 如果您
  • excel超链接什么都没有

    我有很多超链接 我想为每个超链接分配一个宏 并且 Worksheet FollowHyperlink 仅捕获插入的超链接 但不捕获 HYPERLINK 函数 所以我希望我插入的超链接不引用任何内容 这样当我按下它们时什么也不会发生 或者我希
  • 如何在 Flask-RESTful 中添加自定义 HTTP 响应头?

    我正在使用 Flask RESTful 并且希望通过向我的响应添加自定义 HTTP 标头来处理某些错误 是否有标准的 Flask 或 Flask RESTful 方法可以做到这一点 结果我跳过了文档的那部分 class Todo3 Reso
  • Kendo Grid 移动到下一个单元格后不保存值

    我尝试修改kendo Grid的InCell编辑模式的行为 我的意思是我尝试使用箭头导航到单元格 但这样做时遇到问题 这是我的代码 grid keydown function e debugger isEditStarted true va
  • 在地图上绘制绕纬度/经度的时间半径

    我正在与gmapsdistanceR 中的包 我有我的 API 密钥 并且我熟悉包中的功能 然而 我想从相反的方向解决一个问题 而不是仅仅找到Time Distance and Status纬度 经度之间是纬度 经度的向量 我想输入一个纬度