【发布时间】:2014-08-08 11:35:43
【问题描述】:
我对创建 android 应用程序非常陌生,所以我有一个问题:
您能告诉我为什么真正的 android 设备无法识别取自 JSON 的模拟(假)位置吗?
功能:
public void setLocation(double latitude, double longitude,Context ctx) {
LocationManager mLocationManager = (LocationManager) ctx.getSystemService(Service.LOCATION_SERVICE);
if (mLocationManager.getProvider("spoof") == null) {
mLocationManager.addTestProvider("spoof", false, true, false, false, false, false, false, 0, 5);
mLocationManager.setTestProviderEnabled("spoof", true);
}
Location loc = new Location("spoof");
loc.setLatitude(latitude);
loc.setLongitude(longitude);
loc.setTime(System.currentTimeMillis());
loc.setAccuracy(16F);
loc.setAltitude(0D);
loc.setBearing(0F);
mLocationManager.setTestProviderLocation("spoof", loc);
Toast.makeText(getBaseContext(), "Lat:"+latitude+" - Lng:"+longitude, Toast.LENGTH_LONG).show();
}
所以现在我有double 纬度和经度,它们被设置为lata,longa
这是运行函数的代码
setLocation(lata,longa, getBaseContext());
函数和向函数发送数据可以正常工作,因为它使用Toast.makeText 打印出经纬度,但问题是谷歌地图,谷歌导航器不会看到新位置,而设置是真实的..改用网络位置..
我尝试在没有 GPS 的设备上运行它 - 安卓 4.0.3 - 安卓4.2.2
提前谢谢你!
【问题讨论】:
-
你正在使用我想是新的 api?
-
@andrei “新 api” 是什么意思? @SuppressLint("NewApi")?
-
谷歌地图 api 2 我的意思是。 developers.google.com/maps/documentation/android/start
-
@andrei 嗯,我不使用谷歌地图 API,我只是获取 ajax 数据并尝试更改设备的位置。我认为它应该在不包括谷歌地图 api 的情况下工作?
-
现在的问题是,您在哪个“事物”上看到了蓝点?谷歌地图,对吧?
标签: java android google-maps