【问题标题】:Javascript : show latitude and longitude on mouse clickJavascript:在鼠标点击时显示纬度和经度
【发布时间】:2018-12-29 23:17:38
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: javascript asp.net google-maps


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      “点击”事件在谷歌地图中不可用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....
      });
      

      【讨论】:

        猜你喜欢
        • 2013-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多