如何使用 Traccar API 获取实时位置?

Posted

技术标签:

【中文标题】如何使用 Traccar API 获取实时位置?【英文标题】:How to get realtime location with Traccar API? 【发布时间】:2018-08-08 18:34:51 【问题描述】:

我们正在尝试通过使用带有 Retrofit2 的 Traccar API 来获取设备位置的实时更新,直到现在,我们只能在应用程序启动时获取位置(android 应用程序)。

【问题讨论】:

【参考方案1】:

要获得实时更新,您应该使用 WebSocket 连接到 Traccar 服务器。 Retrofit 不支持这样的东西,所以你应该直接使用 OkHttp:

Request request = new Request.Builder().url(retrofit.baseUrl().url().toString() + "api/socket").build();
webSocket = WebSocketCall.create(client, request);
webSocket.enqueue(new WebSocketListener() 
    @Override
    public void onOpen(WebSocket webSocket, Response response) 
    

    @Override
    public void onFailure(IOException e, Response response) 
        reconnectWebSocket();
    

    @Override
    public void onMessage(ResponseBody message) throws IOException 
        final String data = message.string();
        handler.post(new Runnable() 
            @Override
            public void run() 
                try 
                    handleMessage(data);
                 catch (IOException e) 
                    Log.w(MainFragment.class.getSimpleName(), e);
                
            
        );
    

    @Override
    public void onPong(Buffer payload) 
    

    @Override
    public void onClose(int code, String reason) 
        reconnectWebSocket();
    
);

欲了解更多信息,您可以查看官方 Traccar Manager 应用(原生版本):

https://github.com/tananaev/traccar-manager-android/tree/native

【讨论】:

【参考方案2】:

@Cesar gutierrez 我解决了这个问题。使用地理编码实时定位并显示已知地址

【讨论】:

以上是关于如何使用 Traccar API 获取实时位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用沿折线的实时位置更新标记?

我们如何为客户获取实时 Instagram 位置通知?

前端获取用户位置信息

如何使用 Yahoo,Finance stock API 获取股票数据

多次响应实时数据获取

如何通过 Javascript 中的 Google Calendar API 获取 Google Calendar 中事件的位置?