Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用基于位置的应用程序跟踪用户_Android_Google Cloud Messaging_Android Maps V2_Android Maps Utils - Fatal编程技术网

Android 使用基于位置的应用程序跟踪用户

Android 使用基于位置的应用程序跟踪用户,android,google-cloud-messaging,android-maps-v2,android-maps-utils,Android,Google Cloud Messaging,Android Maps V2,Android Maps Utils,我正在开发一个基于位置的应用程序。这里我的要求是,我想从我的设备(如uber或Ly ft应用程序)跟踪用户位置。 示例:如果一个披萨人(用户B)想要给我(用户a)送披萨,那么他可以共享他的用户id,因此使用该id,我可以进入我的设备并查看他的确切位置。但我想跟踪他,直到我需要,所以如何在代码中实现这一点。如果您遇到这种情况,请帮助我了解体系结构 我也可以实现上述场景,但我的疑问是,当用户移动时,我如何在地图中显示而不刷新每次,例如,两分钟后,我想检查纬度和经度,并在地图中为同一用户更新它。创建一

我正在开发一个基于位置的应用程序。这里我的要求是,我想从我的设备(如uber或Ly ft应用程序)跟踪用户位置。 示例:如果一个披萨人(用户B)想要给我(用户a)送披萨,那么他可以共享他的用户id,因此使用该id,我可以进入我的设备并查看他的确切位置。但我想跟踪他,直到我需要,所以如何在代码中实现这一点。如果您遇到这种情况,请帮助我了解体系结构


我也可以实现上述场景,但我的疑问是,当用户移动时,我如何在地图中显示而不刷新每次,例如,两分钟后,我想检查纬度和经度,并在地图中为同一用户更新它。创建一个线程,要求处理程序多次获取位置。您需要使用处理程序,因为getMyLocation方法只能从GUI线程调用:

private class MyLocationThread extends Thread{
    @Override
    public void run() {
        int loops = 0;
        // we give the location search a minute 
        while(loops < 60){
            // we have to try it over a handler, because getMyLocation() has to be called from GUI Thread -_-
            _getMyLocationHandler.sendEmptyMessage(0);
            if(isInterrupted()){
                return;
            }
            // take a short nap before next try
            try {Thread.sleep(1000);} catch(Exception e){}
            loops++;
        }

    }
}
private Handler _getMyLocationHandler = new Handler(){
    public void handleMessage(android.os.Message msg) {
        if(getMap().isMyLocationEnabled() && getMap().getMyLocation() != null){
            _locationWatcher.interrupt();
            drawCurrentImagePositions();
        }
    }
};