当前位置: 首页 > 知识库问答 >
问题:

从google获取url。映射json并将数据保存在变量中

裴经义
2023-03-14

早上好,我需要获取谷歌生成的数据。从JSON映射距离和时间,文档中的地址是:

https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial

使用我的api进行设置,并传递我得到的两个随机方向,并显示距离和时间:

<script>
    var respuesta = '{"destination_addresses":["Av. Sagrada Familia 627, 
Cordoba"],"origin_addresses":["9 de Julio 1800, Cordoba"],"rows":[{"elements":[{"distance":{"text":"2,2 
mi","value":3523},"duration":{"text":"9 
min","value":540},"status":"OK"}]}],"status":"OK"}'


  var distancia = JSON.parse(respuesta).rows[0].elements[0].distance.text
 var tiempo = JSON.parse(respuesta).rows[0].elements[0].duration.text

   window.onload = function what(){
    document.getElementById("span_distancia").innerHTML = distancia;
    document.getElementById("span_tiempo").innerHTML = tiempo;
  }
</script>

DISTANCE: <span id="span_distancia"></span><br>
TIME: <span id="span_tiempo"></span><br>

到目前为止还不错,现在开始地址和结束地址不是静态的,在这个例子中,我之前放的总是相同的数据,我需要数据是动态的,因为到了谷歌的地址。将步骤开始和结束映射为变量:

https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial

如何读取Google生成的JSON并将数据动态插入到响应变量中,以便每次通过开始和结束时计算距离和时间并显示给我?

共有1个答案

董高朗
2023-03-14

完成时间:

<?php 
$start= !empty($_GET['start']) ? urlencode($_GET['start']) : null;
$end = !empty($_GET['end']) ? urlencode($_GET['end']) : null;
$urlApi = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=".$start."&destinations=".$end."&key=API_KEY";
$result = file_get_contents($urlApi);
$data = json_decode($result, true);
$millas =  $data['rows'][0]['elements'][0]['distance']['text'];
$millasKm = round(($millas * 1.60934),2);
$duration = $data['rows'][0]['elements'][0]['duration']['text'];
?>
Distance: <?php echo $millasKm." Km";?><br>
Duration: <?php echo $duration;?><br>
 类似资料:
  • 我试过这个: 首先,我获得了数据库中所有数据的引用,我正在尝试获取它,但我不知道如何实现这一点。 此外,当我这样做时,它会抛出以下错误: java.lang.NullPoInterException:尝试在.laramira.atellez.moroninfo.models.newsviewholder$1$1.ondatachange(newsviewholder.java:48)在com.go

  • 我试图反序列化数据从火力还原映射到一个新的类,并使用提供商调用该类。我遵循了几个教程(https://fireship.io/lessons/advanced-flutter-firebase/)没有成功。 然后我试着打电话给使用 错误消息:

  • 我在使用Spring通过java读取yaml时遇到了一个问题。让我先展示代码 我的yaml文件: spring上下文xml还具有以下功能: 在这里面,它说,所有的东西都是作为一个字符串而不是一个地图来阅读的。是否有其他类支持读取Yaml文件的方式:Spring boot-inject map from application.yml 还是我对YamlPropertiesFactoryBean的理解

  • 我有MyEntity类: 在@RestController中有2个@GetMapping方法。第一个: 第二个: 需要提供: 1.@GetMap返回MyEntity类中描述的实体。 2.@GetMap("url")返回实体,就像它的一个字段带有@JsonIgnore一样。 更新: 例如,当我返回我的实体时,客户端将得到: 我想在同一时间使用相同的ENTITY有机会根据URL发送给客户端: 1. 2

  • 问题内容: 我有一个类似于https://www.googleapis.com/freebase/v1/text/en/bob_dylan的外部资源,该资源返回JSON。我想在html的div中显示结果键的值(可以说div的名称是“ summary”)。结果键的值也应以纯文本显示。 URL返回json: “ 1960年代,当他成为.......“} JSON仅具有结果键,没有其他键 基本上,我不想

  • 我正在做一个项目,我想要一个功能,在WhatsApp上给我们留言,为此,我使用了使用intent的WhatsApp API。在“WhatsApp上向我们发送消息”功能中,我使用了2-3个不同的数字,并将其存储在列表中,并使用random()方法从列表中检索该数字,正如我所希望的那样,每当用户使用该功能时,他/她每次都必须连接不同的数字。但现在我想更改列表中存储的数字。 那么,我如何在每次不改变实际