繁体   English   中英

将数据从jQuery ajax GET请求传递到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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM