0
사용자가 내 앱을 탐색하는 "도시"에 따라 몇 가지 결과를 보여주는 앱을 개발 중입니다. 일부 결과 만 표시하려면이 위치 정보 만 사용합니다. 나는 this을 읽고 내 응용 프로그램에 구현했습니다. application.js에브라우저 열기에서 쿠키를 한 번만 읽음
<%- unless @lat_lng %>
<script>
getGeoLocation();
</script>
<%- end %>
이 코드 :
나는 부분 내 _header이 코드를 넣어
function getGeoLocation() {
navigator.geolocation.getCurrentPosition(setGeoCookie);
}
function setGeoCookie(position) {
var cookie_val = position.coords.latitude + "|" + position.coords.longitude;
document.cookie = "lat_lng=" + escape(cookie_val);
}
내 컨트롤러의 index 액션이 코드 :
if cookies().key?("lat_lng")
lat_lng = cookies[:lat_lng].split("|")
geo_localization = "#{lat_lng[0]},#{lat_lng[1]}"
query = Geocoder.search(geo_localization).first
@city = query.state
else
@city = "nocity"
end
하지만 이제는 페이지가로드 될 때마다 쿠키를 다시 읽습니다. 쿠키가 존재하는 경우
- 찾는 경우는, 위치 정보없이 페이지의 내용을로드하지 않는 경우, 위치를
- 읽기 : I 수있는 방법.
- 사용자가 위치 요청을 허용 한 후 쿠키를 만들고 위치를 찾고 위치 데이터로 페이지 콘텐츠를 다시로드하십시오 (ajax 또는 somethng 사용)
- 사용자가 브라우저에서 내 앱 페이지를 닫을 때까지 동일한 위치 사용 페이지가로드 될 때마다 쿠키를 읽지 않습니다.
그런데 저는 자바 스크립트에 익숙하지 않지만 처리하려고합니다.