如何从使用 API 返回的 JSON 对象初始化 google.maps.DirectionsResult

How do you initialize a google.maps.DirectionsResult from a JSON object returned using the api?

本文关键字:对象 JSON 初始化 google DirectionsResult maps 返回 API      更新时间:2023-09-26

我有一个对象,它是在 php 脚本中使用方向 api 返回的。 这是用于请求方向的 PHP 代码。

// Fetch and decode JSON string into a PHP object
$json = file_get_contents($url . http_build_query($params));
$data = json_decode($json);

这个$data结果被传递给javascript,我想使用google.maps.DirectionsRenderer渲染这些结果。 渲染器需要一个 DirectionsResult 对象作为参数,但我无法传递 PHP 结果对象。 我需要将该PHP结果对象转换为google.maps.DirectionsResult对象,但我不明白如何?

这也与有关在数据库中序列化方向并在以后重新渲染它们的类似问题有关。

Web 服务的响应不打算与 DirectionsRenderer 一起使用。

可以解析Webservice结果并将特定属性(LatLng,LatLngBound和编码折线(转换为预期的对象,但是至少有1个预期属性(包含请求选项(,可能无法转换,因为您不知道此属性的预期名称(当前是Wb,明天可能是Bw或其他东西(

Web服务的响应包含所有必需的数据,而不是使用DirectionsRenderer自己创建标记,折线,InfoWindows等。

我想

重新创建 DirectionsResult 对象,所以,O 认为我们在这里遇到了同样的问题。我找到了一个解决方案,它没有它应该的那么好,但现在它解决了问题。

作为参考,请按照以下说明进行操作: 贾亚帕尔·钱德兰在 http://vikku.info/programming/google-maps-v3/draggable-directions/saving-draggable-directions-saving-waypoints-google-directions-google-maps-v3.htm

他为PHP编写了代码,但客户端是基于JavaScript JSON的,因此您几乎可以将它用于所有内容。

它包括再次调用谷歌服务,但将航点作为参数传递。我认为对谷歌进行新的调用是必要的,但就目前而言,这是唯一的方法。我认为。。如果其他人知道如何在不召回谷歌的情况下使用它,请给我发一张便条。

希望对您有所帮助。

安德烈·索布雷罗