मैंने एक एपीआई बनाया है जो एक अक्षांश और देशांतर से युक्त एक जेसन देता है, और संबंधित मानचित्र प्राप्त करने के लिए इसे Google मानचित्र एपीआई में पास करना चाहता था।

अपने एपीआई से डेटा प्राप्त करने के लिए मैंने निम्नानुसार एक अजाक्स अनुरोध बनाया:

scripts.js:

$(document).ready(function(){
  $("button").click(function(){
    $.get("my url", function(data, status){

        //do something with this data

    });
  });
});

इससे JSON प्राप्त करने के बाद, मैं उस स्क्रिप्ट के अक्षांश और देशांतर को पास करना चाहता हूं जो Google मैप्स एपीआई मेरे index.html के अंदर निम्नानुसार प्रदान करता है।

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 मानचित्र API कॉल में पास कर सकूं। मैं jQuery के लिए बिल्कुल नया हूं, इसलिए यह नहीं पता कि यह कैसे करें।

धन्यवाद!

1
Ashwin Vivek 20 जुलाई 2017, 19:24

1 उत्तर

सबसे बढ़िया उत्तर

Google मानचित्र 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 मानचित्र API लोड कर रहे हैं।

2
Jeramiah Harland 20 जुलाई 2017, 19:35