JavaScript를 사용하여 브라우저에서 사용자 위치 가져오기 | ShriekDj의 솔루션
17705 단어 geolocationjavascriptshriekdjwebdev
그러나 코드를 복사하여 붙여넣기 전에 이 기능은
https
가 아닌 http
프로토콜에서만 작동하지만 이상하게도 localhost
에서 실행할 수 있습니다.1. HTML 상용구 만들기
아래에 주어진 HTML 상용구.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Geolocation Form</title>
</head>
<body>
Hello World
</body>
</html>
2. 몸에서 만들고 형성하기
아래와 같이 위도 및 경도 형식으로 사용자 위치를 가져옵니다.
<form action="submit_location" method="post">
<input type="number" name="lat" id="latitude" required>
<input type="number" name="long" id="longitude" required>
<label for="user_data">Add User Data</label><br>
<input type="text" id="user_data" name="user_data" required>
<button type="submit" value="submit">Submit The Data</button>
</form>
3. 위도와 경도를 숨깁니다.
여러 번 사용자는 자신의 앞에 있는 위도와 경도를 보고 싶지 않거나 전혀 볼 필요가 없습니다. 그 경우. 다음과 같이 형식을 변경합니다.
<form action="submit_location" method="post">
<input type="hidden" name="latitude" id="lat" required>
<input type="hidden" name="longitude" id="long" required>
<label for="user_data">Add User Data</label><br>
<input type="text" id="user_data" name="user_data" required>
<button type="submit" value="submit">Submit The Data</button>
</form>
3. 고객에게 위치를 묻는 JavaScript 함수를 생성하고 등록합니다.
아래 주어진 코드에는 클라이언트 상호 작용에 따라 실행할 3가지 유형의 논리가 포함되어 있습니다.
function myFunction() {
// this will be called when my function is needed
console.log('location captured');
}
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, removeForm);
if ((lat.getAttribute('value') == null) || (long.getAttribute('value') == null)) {
// code to run if cs disagrees to share the location
// x.innerHTML = "Form Can't be uploaded Until you provide your current location";
}
} else {
// if client browser does not supports geolocation at all
// x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
// code to run if cs agrees to share the location
// x.innerHTML = "Now You Can Submit the Form";
lat.setAttribute('value', position.coords.latitude);
long.setAttribute('value', position.coords.longitude);
}
4. 마지막으로 전체 페이지 로드 시 모든 스크립트 기능을 실행합니다.
다음은 페이지가 로드될 때 함수를 실행하려는 경우에 사용되는 코드입니다.
함수를 직접 작성할 수 있지만 일부 브라우저에서는 작동하지 않으므로 아래와 같은 방식으로 함수를 실행해야 합니다.
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed');
getLocation();
});
5. 아래 주어진 HTML 코드를 완성하십시오.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Geolocation Form</title>
</head>
<body>
<form action="submit_location" method="post">
<input type="hidden" name="latitude" id="lat" required>
<input type="hidden" name="longitude" id="long" required>
<label for="user_data">Add User Data</label><br>
<input type="text" id="user_data" name="user_data" required>
<button type="submit" value="submit">Submit The Data</button>
<script>
function myFunction() {
// this will be called when my function is needed
console.log('location captured');
}
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, myFunction);
if ((lat.getAttribute('value') == null) || (long.getAttribute('value') == null)) {
// code to run if cs disagrees to share the location
// x.innerHTML = "Form Can't be uploaded Until you provide your current location";
}
} else {
// if client browser does not supports geolocation at all
// x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
// code to run if cs agrees to share the location
// x.innerHTML = "Now You Can Submit the Form";
lat.setAttribute('value', position.coords.latitude);
long.setAttribute('value', position.coords.longitude);
}
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed');
getLocation();
});
</script>
</form>
</body>
</html>
6. 양식 및 위치 알림이 Firefox에서 어떻게 보이는지의 스크린샷
위치 요청 스크린샷
위치 캡처 스크린샷
Reference
이 문제에 관하여(JavaScript를 사용하여 브라우저에서 사용자 위치 가져오기 | ShriekDj의 솔루션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shriekdj/get-user-location-from-browser-using-javascript-solutions-by-shriekdj-4647텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)