У меня есть приложение, в котором я должен изобразить положение пользователя и положение его друга на одной и той же карте, но проблема в том, что эти позиции не точны. Например, две координаты, такие как: 81.445679 25.678998 и 81.448902 25.670123.В моем приложении я получаю свое местоположение и затем рисую то же самое на карте, но я думаю, что приведение типов от double к int делает эти различия. Код для этой части показан ниже:
locationManager = (LocationManager)this.getSystemService(LOCATION_SERVICE);
Location location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
int latitude = (int)(location.getLatitude() * 1000000);
int longitude = (int)(location.getLongitude() * 1000000);
point = new GeoPoint(latitude,longitude);
mapController.animateTo(point);
Ичтобы отправить эти координаты другу пользователя, я отправляю эти координаты в виде строкового текста, что-то вроде этого:
private double longitude,latitude;
latitude=location.getLatitude();
longitude=location.getLongitude();
String message = latitude + " " + longitude ;
, а затем отправляю это сообщение другу и на стороне друга, извлекая это местоположение, взломав этосообщение в double.So может быть разбор от двойной до строки, а затем строка до двойной является одной из причин отсутствия точности.
Я не ясно. Так может кто-нибудь дать мне некоторое представление об этом?Или можете рассказать мне о том, какие модификации можно внести в существующие коды?
Заранее спасибо.