-1

我需要在我的 IoT 平台 Thingworx 中模拟我的“IoT 事物”的位置跟踪。例如:如果我有一辆汽车作为事物,它有移动和停止两种模式。我需要模拟汽车处于“移动”状态时不断变化的经纬度,并存储生成的坐标,以便以后可以在混搭中的 Google 地图小部件上显示它们。同样,如果汽车停下来,那么它应该显示它最后一次停下的位置。我有以下问题:

  1. 我如何实现这一目标?如,我应该创建和使用服务还是订阅(以速度值作为触发器)?
  2. 这样的功能需要什么样的代码片段?
  3. 我应该使用 Google api 吗?
  4. 另外,如何将 lat/long 的变化值存储在数据类型为“Location”的变量中?

谢谢!

4

2 回答 2

0

你所要的,不是几句话就能解释清楚的!最好的方法是向您展示一个使用 Google Map API 的示例,并且您可能也会感兴趣,因为它使用 CSS 过渡来平滑您的汽车(或在我的情况下为 Hansel 和 Gretel)的行程。

您可以在此处查看Brotkrumen Web 应用程序的完整文档代码。它包括 aaa_readme.txt

请注意,知道某人何时停止并不是直截了当的,必须通过启发式方法获得。我提供了一些 secs 参数,这些参数必须在没有有趣的运动变化的情况下经过才能计算出您已经停止以及停止了多长时间。试着在你的车里运行 Brotkrumen,当你在灯下时它应该会起作用(至少在珀斯他们永远需要),并且会在你按下 Map Trip 或 Replay 按钮时显示给你。

于 2017-11-14T23:32:40.327 回答
0

模拟运动的逻辑的一部分,它可以像您想要的一样复杂,也可以像向纬度/经度添加随机运动一样简单。

  1. 您应该使用 Timer Thing,例如每秒触发一次(或任何其他频率),然后订阅“Timer”事件,然后编写代码来移动汽车。

  2. 您需要在 Car Thing 上有一个属性,我们可以将其称为 baseType LOCATION 的“位置”,并且该属性应设置为“已记录”,然后您只需要使用新位置更新位置属性(如果它移动自最后一个位置 - 在您的模拟器代码上 - )。当然,您还必须设置 car Thing 的 ValueStream 属性,以便为位置更改获取存储空间。

  3. 您可以使用 TW Marketplace 谷歌地图扩展程序,以便从记录的模拟中显示谷歌地图上的位置和路径。

  4. 在 TW 中设置位置属性类似于:

me.location = {纬度:latitude_value,经度:longitude_value,海拔:elevation_value,单位:“WGS84”}

希望能帮助到你。

于 2017-11-17T08:36:34.920 回答