如何从 Json 获取特定数据并显示在 Google 地图中 Ruby on Rails
How to get specific data from Json and display in Google map in Ruby on Rails
我连接到 DB NOSQL 在线 return JSON 值
例如
{
"_id"=>"5b2e880c1de0c46b00001dda",
"gps_lattitude"=>"30.63",
"gps_longitude"=>"31.09",
"gps_speed_kph"=>"0.1",
"gps_heading"=>"129.36",
"gsm_csecond"=>58,
"gsm_second"=>46,
"gsm_minute"=>35,
"gsm_hour"=>21,
"gsm_month"=>6,
"gsm_day"=>20,
"gsm_year"=>2018,
"HWID"=>"AC37439773C8",
"pulse_rate"=>585,
"recrdID"=>458
}
需要显示 gps_longitude
& gps_lattitude
到 google 地图
在使用 SQL 数据库时,我可以轻松完成但不知道如何使用 JSON
控制器:
body = {gps_lattitude: "40.4967628", gps_longitude: "-80.0584638"}.as_json
@lat = body["gps_lattitude"]
@long = body["gps_longitude"]
Html 页数:
<div id="googleMap" style="width:100%;height:400px;"></div>
<script>
// Google Map Init
function initMap(){
var lat = "<%= @lat %>"; // sample - "40.4967628"
var lng = "<%= @long %>"; // sample - "-80.0584638"
var uluru = {lat: parseFloat(lat), lng: parseFloat(lng)};
var map = new google.maps.Map(document.getElementById('googleMap'), {
zoom: 15,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap"></script>
我连接到 DB NOSQL 在线 return JSON 值
例如
{
"_id"=>"5b2e880c1de0c46b00001dda",
"gps_lattitude"=>"30.63",
"gps_longitude"=>"31.09",
"gps_speed_kph"=>"0.1",
"gps_heading"=>"129.36",
"gsm_csecond"=>58,
"gsm_second"=>46,
"gsm_minute"=>35,
"gsm_hour"=>21,
"gsm_month"=>6,
"gsm_day"=>20,
"gsm_year"=>2018,
"HWID"=>"AC37439773C8",
"pulse_rate"=>585,
"recrdID"=>458
}
需要显示 gps_longitude
& gps_lattitude
到 google 地图
在使用 SQL 数据库时,我可以轻松完成但不知道如何使用 JSON
控制器:
body = {gps_lattitude: "40.4967628", gps_longitude: "-80.0584638"}.as_json
@lat = body["gps_lattitude"]
@long = body["gps_longitude"]
Html 页数:
<div id="googleMap" style="width:100%;height:400px;"></div>
<script>
// Google Map Init
function initMap(){
var lat = "<%= @lat %>"; // sample - "40.4967628"
var lng = "<%= @long %>"; // sample - "-80.0584638"
var uluru = {lat: parseFloat(lat), lng: parseFloat(lng)};
var map = new google.maps.Map(document.getElementById('googleMap'), {
zoom: 15,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap"></script>