[英]How to do an Ajax GET request to get data from rails and pass it to javascript(google maps)?
[英]pass data from jQuery ajax GET request to google maps script
我创建了一个API,该API返回由纬度和经度组成的json,并希望将其传递到Google Maps API中,以获取相应的地图。
为了从我的API获取数据,我创建了一个ajax请求,如下所示:
scripts.js中:
$(document).ready(function(){ $("button").click(function(){ $.get("my url", function(data, status){ //do something with this data }); }); });
从中获取JSON之后,我想将纬度和经度传递给index.html内的Google Maps API提供的脚本。
的index.html
<body> <h1> JOS Map App </h1> <button>Send an HTTP GET request to a page and get the result back</button> <script type="text/javascript" src = "js/jquery-3.2.1.min.js"></script> <script type="text/javascript" src = "js/scripts.js"></script> <div id="map"></div> <script> //THIS ONE!! function initMap() { var uluru = {lat: , lng: }; var map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center: uluru }); var marker = new google.maps.Marker({ position: uluru, map: map }); } </script> <script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"> </script> </body>
基本上,我希望能够将GET请求中的纬度和经度传递到此脚本,以便可以将其传递到google maps API调用中。 我对jQuery很陌生,所以不知道如何执行此操作。
谢谢!
为什么不将lat / lng作为参数传递给Google Maps init()?
<script>
$(document).ready(function(){
$("button").click(function(){
$.get("my url", function(data, status){
initMap(data.lat, data.lng);
});
});
});
function initMap(lat, lng) {
var uluru = {lat: lat, lng: lng};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
</script>
您可以将该initMap()函数移至scripts.js。 只要确保您在scripts.js之前加载了Google Maps API。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.