Selamlar;
Konumu DMS (derece, dakika, saniye) olarak delphide almak mümkün mü?
Konum
Re: Konum
Merhaba,
Android konumu Double cinsinden tek rakam içinde verir. Bunu DMS'ye çevirme işlemi Android'in kendi geliştirme platformunda basit bir iki format fonksiyonu iken Delphi'de bu iş için fonksiyonları kendimizin yazması gerekiyor.
Test edilmemiş aşağıdaki fonksiyonları deneyebilirsiniz.
Kaynaklar:
https://en.wikipedia.org/wiki/Geographi ... conversion
https://support.groundspeak.com/index.p ... age&id=207
Android konumu Double cinsinden tek rakam içinde verir. Bunu DMS'ye çevirme işlemi Android'in kendi geliştirme platformunda basit bir iki format fonksiyonu iken Delphi'de bu iş için fonksiyonları kendimizin yazması gerekiyor.
Test edilmemiş aşağıdaki fonksiyonları deneyebilirsiniz.
Kod: Tümünü seç
function GetLatitudeAsDSM(const Coord: Double): string;
var
Degree, Minute, Second: Double;
begin
Degree := Abs(Trunc(Coord));
Minute := Trunc(60 * (Coord - Degree));
Second := 60 * (Coord - Degree - Minute);
if Coord > 0 then
Result := 'N'
else
Result := 'S';
Result := Result + Degree.ToString() + '° ' + Minute.ToString() + ''' ' + Second.ToString() + '"';
end;
function GetLongitudeAsDSM(const Coord: Double): string;
var
Degree, Minute, Second: Double;
begin
Degree := Abs(Trunc(Coord));
Minute := Trunc(60 * (Coord - Degree));
Second := 60 * (Coord - Degree - Minute);
if Degree > 0 then
Result := 'E'
else
Result := 'W';
Result := Result + Degree.ToString() + '° ' + Minute.ToString() + ''' ' + Second.ToString() + '"';
end;
https://en.wikipedia.org/wiki/Geographi ... conversion
https://support.groundspeak.com/index.p ... age&id=207