正在将地图坐标从 phone 发送到 phone

Sending map coordinates from phone to phone

我们正在 IOS 和 Android 中创建一个 real-time GPS 跟踪器应用程序。我们想从 B 的地图上看到 A 的 real-time 位置(就像在 UBER 中,我可以看到 driver 的位置)。我们现在可以获取 A 的坐标,但是我们应该如何在 real-time 中将其发送给 B?我们还应该使用数据库来获取和发送坐标吗?或者有没有办法将坐标从 phone 发送到 phone?

您需要一种实时通信机制来将 A 位置发送到 B 客户端。 websocket(例如:socket.io) or some messaging protocol (ex: MQTT.org)之类的东西可以帮助你。

看来您需要一个双向数据通道或一个真正快速的非 sql 数据库。

首先,关于双向数据通道。你可以使用 socket.io ,你有一个非常简单的节点服务器来支持双向数据通道。或者你可以只使用 WebRTC,它并不是为此目的而构建的,但你仍然可以利用数据通道来实现你的目标。然而,无论哪种方式,它主要是使用 UDP 连接完成的,换句话说,这意味着它不可靠。不能保证对方收到坐标

第二种解决方案,一个真正快速的非 sql 数据库,另一方面,可能会更好地与您的应用程序对齐。如果您从头开始构建服务器,您仍然需要 socket.io 来监视数据库中的更改并通知双方(如果使用 https 请求,它甚至不会接近实时)。你可以让他们更新坐标,例如,像 /root/geolocation/{room-hash}/coords 这样的参考,并让双方用 socket.io 连接监控同一个参考。

如果您不希望获得从头构建实时服务器的经验,而只想完成您的应用程序。您可以查看 firebase,我认为它是一个相当快的数据库。您可以在 android/ios 代码中使用 firebase 库。如果您已经编写了本机代码并且不想更改它。使用 firebase 云函数并进行 api 次调用。