使用javascript查找纬度和经度

4

我第一次使用JavaScript。实际上,我想使用JavaScript获取一个地址的纬度和经度。有人可以指导我吗?

3个回答

7
如果您需要获得给定地址的纬度和经度,可以使用Google地图API。https://developers.google.com/maps/documentation/javascript/ 以下是一个示例:https://google-developers.appspot.com/maps/documentation/javascript/examples/geocoding-simple 编辑:要在弹出警报中显示它:
var address = document.getElementById("address").value;
var geocoder = new google.maps.Geocoder();

geocoder.geocode( { 'address': address}, function(results, status) {
  var location = results[0].geometry.location;
  alert(location.lat() + '' + location.lng());
});

问题说的是“地址”,而不是“用户位置”。 - Quentin
这将找到已连接客户端的纬度/经度,但不会找到地址的位置 - 应避免使用w3schools参考(请参见w3fools.com)。 - Fabrizio Calderan
抱歉,我已经更新了我的答案以正确回答这个问题。 - Jerome Cance
我只想在一个警告框中显示纬度和经度。 - Aditi Sharma
嘿,Jerome,在Firefox(以及可能所有浏览器中),你的alert()实际上将纬度和经度添加为浮点数,然后显示结果。一个简单的解决方法是使用:alert(location.lat() + ' ' + location.lng()); 干杯! - clone45

3

以下是基于Jerome C.答案的JS+HTML代码:

<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Geocoding service</title>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
    <script>
        function codeAddress() {
        var address = document.getElementById("address").value;
        var geocoder = new google.maps.Geocoder();

        geocoder.geocode( { 'address': address}, function(results, status) {
          var location = results[0].geometry.location;
          alert('LAT: ' + location.lat() + ' LANG: ' + location.lng());
        });
        }
        google.maps.event.addDomListener(window, 'load', codeAddress);
    </script>
  </head>
  <body>
    <div id="panel">
      <input id="address" type="textbox" value="Tembhurkheda, Maharashtra, INDIA">
      <input type="button" value="Geocode" onclick="codeAddress()">
    </div>
  </body>
</html>

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接