Если знать как определяются координаты (по ЖПС или по сотовым вышкам), то можно выбирать какие координаты использовать, а какие отбрасывать...
Узнать тип сенсора можно вот так
function getLocationSensorType(const ASensor : TLocationSensor) : String;
begin
with ASensor do
case Sensor.SensorType of
TLocationSensorType.GPS: result := 'GPS';
TLocationSensorType.Static: result := 'Static';
TLocationSensorType.Lookup: result := 'Lookup';
TLocationSensorType.Triangulation: result := 'Triangulation';
TLocationSensorType.Broadcast: result := 'Broadcast';
TLocationSensorType.DeadReckoning: result := 'DeadReckoning';
TLocationSensorType.Other: result := 'Other';
else result := 'Unknown';
end;
end;
procedure TFrmMain.LocationSensorLocationChanged(Sender: TObject;
const [Ref] OldLocation, NewLocation: TLocationCoord2D);
var
Lat,Lon:String;
lSensorType : String;
begin
Lat:=Format('%2.6f',[NewLocation.Latitude]);
Lon:=Format('%2.6f',[NewLocation.Longitude]);
lSensorType := GetLocationSensorType(LocationSensor);
Memo1.Lines.Add('Lat='+Lat+' Lon='+Lon+' lSensorType='+lSensorType);
end;
однако он мне выдает lSensorType=GPS всегда, даже в случае отключения GPS на устройстве... не знаю почему