使用谷歌地图API,我需要在输入地址/邮政编码并传递网址后立即获取经度和纬度

问题描述 投票:0回答:1

使用谷歌地图API,我需要在输入地址/邮政编码或使用jquery/ajax提交表单后立即获取经度和纬度。 一旦点击提交按钮,需要传递 url join.php?address=XXXXX&lat=XXXX&long=XXXX 中的所有 3 个值

地址文本框用户可以输入地址 纬度和经度是表单上的隐藏字段,需要从谷歌地图 API 获取。

<html>  

   <head>
   </head>

   <body>


   <form action="join.php" method="post" onSubmit="doSomething">
      <input id='address' type='text'/>
   <input type="hidden" name="lat" id="lat"/>
   <input type="hidden" name="long" id="long"/>

   <input type="submit" value="Submit"/>
   </form>
   
   
   
       <script type="text/javascript">

    function doSomething()
    {
    var lat = document.getElementById('#output-latitude');
    lat_element.value = google_maps_api_variable;
    var lon = document.getElementById('#output-longitude');
    lon_element.value = google_maps_api_variable;
    document.getElementById("lat").value=lat;
    document.getElementById("long").value=long;
    }
    </script>
    
    
   </body>


   </html>

尝试在输入地址/邮政编码后或在使用 jquery/ajax 提交表单作为隐藏字段后立即获取经度和纬度

javascript php jquery ajax google-maps
1个回答
0
投票

添加此代码可以让您获取纬度和经度并将它们附加到隐藏字段

  $(document).ready(function() {
            $('#submit-btn').click(function(e) {
                e.preventDefault();

                var address = $('#address').val();
                var geocodeUrl = "https://maps.googleapis.com/maps/api/geocode/json?address="+ address +"&key=YOUR_API_KEY";

                $.ajax({
                    url: geocodeUrl,
                    type: 'GET',
                    success: function(data) {
                        var lat = data.results[0].geometry.location.lat;
                        var lng = data.results[0].geometry.location.lng;

                        $('#lat').val(lat);
                        $('#long').val(lng);

// Submit the form
                    }
                });
            });
        });
© www.soinside.com 2019 - 2024. All rights reserved.