Javascript:鼠标点击显示纬度和经度



我使用javascript在地图上显示用户的当前位置。我需要在地图上添加一个监听器来显示纬度和经度。这是我的代码,它不起作用我知道我做错了什么你能帮我找出毛病吗:

<script src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
var map;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var coords = new google.maps.LatLng(latitude, longitude);
var mapOptions = {
zoom: 15,
center: coords,
mapTypeControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(
document.getElementById("mapContainer"), mapOptions
);
var marker = new google.maps.Marker({
position: coords,
map: map,
title: "Your current location!"
});
});
} else {
alert("Geolocation API is not supported in your browser.");
}
function setUpClickListener(map) {
// Attach an event listener to map display
// obtain the coordinates and display in an alert box.
map.addEventListener('tap', function (evt) {
var coord = map.screenToGeo(evt.currentPointer.viewportX,
evt.currentPointer.viewportY);
alert('Clicked at ' + Math.abs(coord.lat.toFixed(4)) +
((coord.lat > 0) ? 'N' : 'S') +
' ' + Math.abs(coord.lng.toFixed(4)) +
((coord.lng > 0) ? 'E' : 'W'));
});
}
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
setUpClickListener(map);
</script>
<style type="text/css">
#mapContainer
{
height: 500px;
width: 800px;
border: 10px solid #eaeaea;
}
</style>
<div id="mapContainer">
</div>

coord.lat是一个函数。要获得纬度和经度,您需要编写coord.lat(). toFixed(4)

'tap'事件在谷歌地图Evenets 中不可用

尝试使用:

map.addListener('click', function(evt) {
var lat = evt.latLng.lat();
var lng = evt.latLng.lng();
// ... Do what you want with the lat and lng here....
});

最新更新