【问题标题】:How do you get the geo location of a point on Google maps?你如何在谷歌地图上获得一个点的地理位置?
【发布时间】:2014-11-08 04:14:53
【问题描述】:

我想做的是使用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> 

问候

【问题讨论】:

  • 你能快点提琴吗?

标签: javascript html google-maps


【解决方案1】:

来自Google Developers JavaScript API v3

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

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

【讨论】:

  • 如果你想要纬度或经度,你也可以使用event.latLng.lat();event.latLng.lng();
【解决方案2】:

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

另外,来自 Google 的文档:

Google Maps API V3 中的 UI 事件通常会传递一个事件 参数,可由事件监听器访问,注意 UI 事件发生时的状态。例如,用户界面“点击”事件 通常传递一个包含 latLng 属性的 MouseEvent,表示 地图上点击的位置。请注意,此行为是唯一的 用户界面事件; 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 或其他东西供人们查看。

【讨论】:

    猜你喜欢
    • 2011-09-06
    • 2015-09-24
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多