Я пытаюсь преобразовать свои данные gps в десятичную форму, но он не показывает правильную широту и долготу в консоли
я хочу извлечь gps-местоположение входного изображения пользователя, а затем отметить его на карте. но вот в этом javascript он не показывает правильный результат gps-данных в консоли, когда я преобразую его в десятичные дроби (широта и долгота)
Что я уже пробовал:
function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#the-img') .attr('src', e.target.result) .width(150) .height(200); }; reader.readAsDataURL(input.files[0]); } } document.getElementById("the-img").onclick = function() { EXIF.getData(this, function() { myData = this; console.log(myData.exifdata); var latDegree = myData.exifdata.GPSLatitude[0].numerator; var latMinute = myData.exifdata.GPSLatitude[1].numerator; var latSecond = myData.exifdata.GPSLatitude[2].numerator; var latDirection = myData.exifdata.GPSLatitudeRef; var latFinal = ConvertDMSToDD(latDegree, latMinute, latSecond, latDirection); console.log(latFinal); // Calculate longitude decimal var lonDegree = myData.exifdata.GPSLongitude[0].numerator; var lonMinute = myData.exifdata.GPSLongitude[1].numerator; var lonSecond = myData.exifdata.GPSLongitude[2].numerator; var lonDirection = myData.exifdata.GPSLongitudeRef; var lonFinal = ConvertDMSToDD(lonDegree, lonMinute, lonSecond, lonDirection); console.log(lonFinal); }); } function ConvertDMSToDD(degrees, minutes, seconds, direction) { var dd = degrees + (minutes/60) + (seconds/3600); if (direction == "S" || direction == "W") { dd = dd * -1; } return dd; }
0x01AA
Вы должны добавить некоторые примеры данных и показать, что вы получаете и чего ожидаете.