所以我們試圖做的是一旦用戶點擊他/她希望他們的位置被保存,我們將它保存到我們的經度和緯度列。感謝您的幫助,併爲我們尋找!我會如何在使用html5地圖的用戶的postgres表格中保存用戶經度和緯度?
https://github.com/rolaandoes/nexu/tree/dev
我們的HTML文件,其中的按鈕是拯救我們的用戶位置(經度,緯度)
<h1>Users#edit for <%= @user.id %></h1>
<p>Find me in app/views/users/edit.html.erb</p>
<p><button onclick="geoFindMe()" data-id="<%= @user.id %>"id="finder- btn">Geo-Coordnate My Position</button>Send Coordinates to DB</p>
<div id="out"></div>
<h2>Coordinates to DataBase!</br>lat, lon</h2>
<a href="#" onclick="this.style.backgroundColor='#990000'">Paint it red</a>
這是我們的js文件
$(function(){
$('#finder-btn').on('click', function(){
var currentUserId = $(this).attr('data-id')
$.ajax({
url: '/users/' + currentUserId,
data: { latitude: LatLng[0], longitude: LatLng[1] },
type: 'get',
success: function(data) {
console.log("Patch Succesful!")
},
error: function(err) {
console.log("Error Thrown")
}
});
});
});
//update location for current_user
LatLng = [];
console.log(LatLng);
var latitude = LatLng[0]
var longitude = LatLng[1]
function geoFindMe() {
var output = document.getElementById("out");
if (!navigator.geolocation){
output.innerHTML = "<p>Geolocation is not supported by your browser</p>";
return;
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>';
var img = new Image();
img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=13&size=300x300&sensor=false";
// console.log(longitude);
// console.log(latitude);
//PLUCK into Location TABLE
// latitude = lat_Jon;
// longitude = lon_Jon;
LatLng.push(latitude);
LatLng.push(longitude);
output.appendChild(img);
};
function error() {
output.innerHTML = "Unable to retrieve your location";
};
output.innerHTML = "<p>Locating…</p>";
navigator.geolocation.getCurrentPosition(success, error);
}
我們users_controller,我們需要更新我們經度和緯度表上的位置
def update
# @user = User.find(session[:user_id])
user_id = current_user.id
@user = User.find(user_id)
@user.update_attributes(user_params)
puts @user.latitude
end
謝謝yez!我們得到了它!我們的教練進來幫助我的隊友出去。我最初想從控制器中解決這個問題。但它看起來像他們已經啓動並運行!我非常感謝你的回答!以下是我們迄今爲止的情況,以便您瞭解我們的工作方式 - https://github.com/rolaandoes/nexu/tree/master – rolaandoes