如何获得Google地图上某个点的地理位置?

时间:2014-11-08 04:14:54

标签: javascript html google-maps

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

我只有基本的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> 

问候

2 个答案:

答案 0 :(得分:2)

来自Google Developers JavaScript API v3

添加一个侦听地图click事件的事件侦听器 - 然后该事件传递function,其参数包含与地图上location有关的信息被点击了。在此示例中,标记位于每个用户点击地图的位置。

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

答案 1 :(得分:1)

您是否尝试过任何解决方案或在别处查找已回答的问题?这里有一个例子:Capture Coordinates in Google Map on User Click

此外,来自Google的文档:

  

Google Maps API V3中的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或其他东西供人们查看。