我想要做的是使用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>
问候
答案 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或其他东西供人们查看。