你如何在谷歌地图上获得一个点的地理位置

How do you get the geo location of a point on Google maps?

本文关键字:一个 地理位置 谷歌地图      更新时间:2023-09-26

我想做的是使用googleapi来获取用户在地图上触摸的点的地理位置。

我所拥有的只是基本的html:

<!DOCTYPE html>
<html>
  <head>
    <style type="text/css">
      html, body, #map-canvas { height: 100%; margin: 0; padding: 0;}
    </style>
    <script type="text/javascript"
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA86_aRT8-Gh0fCGcAYCq24UtqLvKAFYAY">
    </script>
    <script type="text/javascript">
      function initialize() {
        var mapOptions = {
          center: { lat: 52.9507709, lng: -1.1746545},
          zoom: 20,
        };
        var map = new google.maps.Map(document.getElementById('map-canvas'),
            mapOptions);
      }
      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
<div id="map-canvas"></div>
  </body>
</html> 

关于

来自Google Developers JavaScript API v3:

添加一个侦听映射click事件的事件侦听器——然后向该事件传递一个function,其中包含与所单击映射上的location有关的信息。在本例中,每个用户单击地图的位置都会放置一个标记。

google.maps.event.addListener(map, 'click', function(event) {
    placeMarker(event.latLng);
});

您是否尝试过任何解决方案或在其他地方查找过已回答的问题?这里有一个例子:在用户点击时在谷歌地图中捕获坐标

此外,来自谷歌的文档:

Google Maps API V3中的UI事件通常会传递一个事件参数,事件侦听器可以访问该参数,注意UI事件发生的状态。例如,UI"单击"事件通常传递包含latLng属性的MouseEvent,该属性表示地图上点击的位置请注意,此行为对于UI事件;MVC状态更改不会在其事件中传递参数。

您可以访问事件侦听器中的事件参数访问对象属性的方式以下示例为映射添加一个事件侦听器,并在用户点击点击位置的地图。

var map;
function initialize() {
  var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
  google.maps.event.addListener(map, 'click', function(event) {
    placeMarker(event.latLng);
  });
}
function placeMarker(location) {
  var marker = new google.maps.Marker({
      position: location,
      map: map
  });
  map.setCenter(location);
}

使用项目中的示例代码来设置jsFiddle或其他供人们查看的东西。