Android I';我在应用程序中使用反向地理编码。为什么每次都不能正常工作?
对于我们中的一些人来说,会显示正确的位置。但对我们许多人来说,这个位置并没有显示出来。为什么会这样?如果在少数情况下工作正常,那么代码应该是正确的吗?为什么它不适用于其他人?是谷歌的服务器问题吗? 实际上,在反向编码中,是不是像geocoder类从geocoding程序中获取纬度和经度,并返回lat的相应地址以及服务器中与之匹配的longAndroid I';我在应用程序中使用反向地理编码。为什么每次都不能正常工作?,android,sms,Android,Sms,对于我们中的一些人来说,会显示正确的位置。但对我们许多人来说,这个位置并没有显示出来。为什么会这样?如果在少数情况下工作正常,那么代码应该是正确的吗?为什么它不适用于其他人?是谷歌的服务器问题吗? 实际上,在反向编码中,是不是像geocoder类从geocoding程序中获取纬度和经度,并返回lat的相应地址以及服务器中与之匹配的long public void onClick(View arg0) { // create class object
public void onClick(View arg0) {
// create class object
gps = new GPSTracker(ScreenActivity.this);
// check if GPS enabled
if(gps.canGetLocation()){
latitude = Double.toString(gps.getLatitude());
longitude = Double.toString(gps.getLongitude());
Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude , Toast.LENGTH_LONG).show();
add= getMyLocationAddress(latitude,longitude);
Toast.makeText(getBaseContext(),add,Toast.LENGTH_SHORT).show();
}
else
{
// can't get location
// GPS or Network is not enabled
// Ask user to enable GPS/network in settings
gps.showSettingsAlert();
}
}
});
locationButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(AddContactsActivity.phno1, null,latitude+longitude+add, null, null);
smsManager.sendTextMessage(AddContactsActivity.phno2, null,latitude+longitude+add, null, null);
Toast.makeText(getApplicationContext(), "Message Sent",
Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(),
ex.getMessage().toString(),
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
});
有两个错误来源:
基本上,你不应该期望反向地理编码能给你完美的答案。如果它能给你一些接近的东西,那么一切都正常。为了改善您的响应,您可能能做的最好的事情就是提高定位精度 可能您只使用网络位置或设备找不到卫星。
或者其他一些应用程序关闭位置服务或您的应用程序(例如某些电源优化)请帮助我们帮助您,并在您的问题中发布您的代码。至少在某些情况下,关闭地址是可以的。但对于少数ppl,它显示为无法获取地址。如果服务返回响应,它们可能在数据库中没有地址。如果它根本不返回响应,那么您的连接有问题。为什么他们不能至少返回附近的位置?这是您需要询问服务提供商的问题。如果您需要返回某些内容,您可以尝试使用不同的纬度和经度值查询附近的其他位置。如何提高准确性?