JSFiddle - React, Tailwind, and code Playground
by Bytes1
JavaScript
var geolocationApi = 'http://ip-api.com/json/?callback=?';
var cities = [
{
name: 'Sofia',
lat: '42.674605',
lng: '23.325960'
}, {
name: 'Varna',
lat: '43.202213',
lng: '27.914069'
}, {
name: 'Burgas',
lat: '42.512225',
lng: '27.454712'
}, {
name: 'Stara Zagora',
lat: '42.419667',
lng: '25.634389'
}, {
name: 'Kazanluk',
lat: '42.621013',
lng: '25.392319'
}, {
name: 'Kranevo',
lat: '43.341343',
lng: '28.057525'
}, {
name: 'Kustendil',
lat: '42.288833',
lng: '22.694511'
}, {
name: 'Zlatna panega',
lat: '43.091988',
lng: '24.152483'
}
];
var testCity = {
name: 'Dupnica',
lat: '42.262881',
lng: '23.111271'
};
$.getJSON(geolocationApi).done(function (data) {
if (data.status == 'fail') {
//In real code this should be namespaced
onFail();
} else if (data.status == 'success') {
onSuccess(data);
}
}).fail(onFail);
//--------------------------------------------------------------
// on success
//--------------------------------------------------------------
function onSuccess(data) {
console.log(data);
var city = data.city;
var lat = data.lat;
var lng = data.lon;
if ($.isNumeric(lat) && $.isNumeric(lng)) {
const nearestCity = findNearestCity(lat, lng)
console.log(nearestCity);
...