모바일 기반 웹 사이트를 개발 중이며 Google지도를 통합했으며 Google지도의 '보낸 사람'입력란을 동적으로 채워야합니다.
웹 브라우저에서 GPS 위치를 가져 와서 Google지도의 '보낸 사람'입력란에 동적으로 채울 수 있습니까?
모바일 기반 웹 사이트를 개발 중이며 Google지도를 통합했으며 Google지도의 '보낸 사람'입력란을 동적으로 채워야합니다.
웹 브라우저에서 GPS 위치를 가져 와서 Google지도의 '보낸 사람'입력란에 동적으로 채울 수 있습니까?
답변:
당신이 사용하는 경우 위치 정보 API를 , 다음 코드를 사용하여 단순하게 될 것이다.
navigator.geolocation.getCurrentPosition(function(location) {
console.log(location.coords.latitude);
console.log(location.coords.longitude);
console.log(location.coords.accuracy);
});
Google의 고객 위치 API 를 사용할 수도 있습니다 .
이 문제는 모바일 브라우저의 GPS 위치를 감지 할 수 있습니까? 에서 논의되었습니다 . 및 모바일 브라우저에서 위치 데이터를 가져옵니다 . 더 많은 정보를 찾을 수 있습니다.
좀 더 구체적인 답변을 제공합니다. HTML5를 사용하면 지리적 좌표를 얻을 수 있으며 꽤 괜찮은 일을합니다. 지리적 위치에 대한 브라우저 지원은 ie7 및 ie8 (및 opera mini)을 제외한 모든 주요 브라우저에서 상당히 좋습니다. IE9는 그 일을하지만 최악의 수행자입니다. Checki caniuse.com :
http://caniuse.com/#search=geol
또한 사용자의 위치에 액세스하려면 사용자의 승인이 필요하므로이를 확인하고 꺼져있는 경우 적절한 지침을 제공해야합니다. 특히 아이폰의 경우 Safari에 대한 권한을 설정하는 것은 약간 성가신 일입니다.
이것을 사용하면 모든 정보를 http://www.w3schools.com/html/html5_geolocation.asp 에서 찾을 수 있습니다
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
주목할 만한
/*
function geo_success(position) {
do_something(position.coords.latitude, position.coords.longitude);
}
function geo_error() {
alert("Sorry, no position available.");
}
var geo_options = {
enableHighAccuracy: true,
maximumAge : 30000,
timeout : 27000
};
var wpid = navigator.geolocation.watchPosition(geo_success, geo_error, geo_options);
*/
getLocation(): Observable<Position> {
return Observable.create((observer) => {
const watchID = navigator.geolocation.watchPosition((position: Position) => {
observer.next(position);
});
return () => {
navigator.geolocation.clearWatch(watchID);
};
});
}
ngOnDestroy() {
this.sub.unsubscribe();
}
최신 지방 화살표 기능을 사용합시다 :
navigator.geolocation.getCurrentPosition((loc) => {
console.log('The location in lat lon format is: [', loc.coords.latitude, ',', loc.coords.longitude, ']');
})