구글 맵은 유료이지만,
다음은 무료로 사용 가능한 간단한 API 이다
[JQuery]JQuery를 이용한 접속 국가 Ip 체크
참조 : https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation
<div style="display: none;"> <button id = "find-me">Show my location</button> <p id = "status"></p> <a id = "map-link" target="_blank"></a> </div> <script> var openstreetmap_latitude=""; var openstreetmap_longitude=""; geoFindMe(); function geoFindMe() { const status = document.querySelector('#status'); const mapLink = document.querySelector('#map-link'); mapLink.href = ''; mapLink.textContent = ''; function success(position) { const latitude = position.coords.latitude; const longitude = position.coords.longitude; status.textContent = ''; mapLink.href = `https://www.openstreetmap.org/#map=18/${latitude}/${longitude}`; mapLink.textContent = `Latitude: ${latitude} °, Longitude: ${longitude} °`; openstreetmap_latitude=latitude; openstreetmap_longitude=longitude; console.log("latitude : "+latitude); } function error() { status.textContent = 'Unable to retrieve your location'; } if(!navigator.geolocation) { status.textContent = 'Geolocation is not supported by your browser'; } else { status.textContent = 'Locating…'; navigator.geolocation.getCurrentPosition(success, error); } } function openstreetmapGetAddress() { $.ajax({ url: 'https://nominatim.openstreetmap.org/reverse', data: { lat: openstreetmap_latitude, lon: openstreetmap_longitude, format: 'json' }, beforeSend: function (xhr) { xhr.setRequestHeader('User-Agent', 'com.form.parking.violation v0.5'); }, dataType: 'json', type: 'GET', async: true, crossDomain: true }).done(function (res) { console.log(res.address); $("#ulocation").val(res.address.road); }).fail(function (error) { console.error(error); }) } document.querySelector('#find-me').addEventListener('click', geoFindMe); </script>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> getT(); function getT() { $.ajax({ url: 'https://nominatim.openstreetmap.org/reverse', data: { lat: 38.748666, lon: -9.103002, format: 'json' }, beforeSend: function (xhr) { xhr.setRequestHeader('User-Agent', 'com.form.parking.violation v0.5'); }, dataType: 'json', type: 'GET', async: true, crossDomain: true }).done(function (res) { console.log(res.address); }).fail(function (error) { console.error(error); }) } </script> </head> <body> </body> </html>
댓글 ( 7)
댓글 남기기