Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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 Osmdroid-模拟假GPS位置_Android_Osmdroid - Fatal编程技术网

Android Osmdroid-模拟假GPS位置

Android Osmdroid-模拟假GPS位置,android,osmdroid,Android,Osmdroid,如何为地图伪造(新)当前位置 不再使用MOCKUP_服务的原因是(1)Android Studio棒棒糖环境中的错误,(2)使其更加灵活 步骤1:编写以下伪LocationProvider。 例如,您可以使用自己的GPS类提供最后一个位置 class MyMockupGpsMyLocationProvider implements IMyLocationProvider { IMyLocationConsumer listener = null; Location newLoc

如何为地图伪造(新)当前位置


不再使用MOCKUP_服务的原因是(1)Android Studio棒棒糖环境中的错误,(2)使其更加灵活

步骤1:编写以下伪LocationProvider。 例如,您可以使用自己的GPS类提供最后一个位置

class MyMockupGpsMyLocationProvider implements IMyLocationProvider {
    IMyLocationConsumer listener = null;
    Location newLoc = GPS.getLastKnownLocation(); // or other class
    public boolean startLocationProvider(IMyLocationConsumer var1) {
        listener = var1;
        return true;
    }
    public void stopLocationProvider() { }
    public Location getLastKnownLocation() {
        return GPS.getLastKnownLocation(); // or other class
    }
    public void updateLocation( Location newLoc) {
        listener.onLocationChanged( newLoc, (IMyLocationProvider) this);
    }
}
步骤2:将其连接到MyOverlay上

MyMockupGpsMyLocationProvider fakeGpsLocations = new MyMockupGpsMyLocationProvider();
myLocationOverlay.enableMyLocation(fakeGpsLocations );
第三步:提供假GPS位置。这里通过调用updateLocation()


问题1:我看到的是“receivedCenter”就在N0.000 E0.000附近。为什么?
因为您用来设置中心的位置是0<代码>问题2:如何为地图伪造(新的)当前位置?只需创建一个位置对象到某个位置并将其传递到地图,或者您可以添加一个表示当前位置的图层。Q1:Humor;\ux)设置中心=52.12022483023131,6.600634222465725将中心读数设置为:06600633,0 Q2:如何将其直接传递到地图?@MuhammadBabar-是的,你是对的。我把“高度”放在纬度上。谢谢。好的做法是,如果你发现了自己,就接受自己的答案。这会阻止其他人寻找解决方案。您只能在两天后接受“自己的”答案;-)
mockupGpsPrivder.updateLocation(currentLocation);