首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用Traccar实现实时定位?

如何利用Traccar实现实时定位?
EN

Stack Overflow用户
提问于 2018-02-28 19:20:15
回答 2查看 1.8K关注 0票数 1

我们试图通过使用Traccar和Retrofit2来获得设备位置的实时更新,直到现在,我们只能在应用程序启动时才能获得这个位置(安卓应用程序)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-01 21:03:46

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

代码语言:javascript
复制
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应用程序(原生版本):

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

票数 3
EN

Stack Overflow用户

发布于 2019-08-08 12:43:28

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49037036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档