如何从谷歌地图获取当前的经纬度

时间:2011-11-03 20:38:48

标签: javascript google-maps javascript-events

我在应用程序中从谷歌地图获取lat / lng有一些问题 当我输入警报信息'lat()'或'lng()时,地图根本不会被渲染 在我将地图放在地图上的代码中,单击“我发送警报时出现'未定义'消息。” 我想在用户移动地图时在页面的文本字段中存储lat和lng(这里我尝试点击)但是这里的某些东西不起作用?

function initialize() {
        var latlng = new google.maps.LatLng(44.012, 20.921);
        var myOptions = {
            zoom: 13,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

        google.maps.event.addListener(map, "click", function (latlng) {
            if (latlng) {
                alert(latlng.lat);
            }
        });
    }

2 个答案:

答案 0 :(得分:1)

latlng应该在传入的event对象中。因此,为了提取它,你会做这样的事情:

google.maps.event.addDomListener(map, 'click', function(event) {
    var myLatLng = event.latLng;
    var lat = myLatLng.lat();
    var lng = myLatLng.lng();
    alert( 'lat '+ lat + ' lng ' + lng ); 

}

答案 1 :(得分:0)

您还可以通过Google地图的实例获得latlng

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); // map instance

google.maps.event.addListener(map, "click", function () {
    var lat = map.data.map.center.lat();
    var lng = map.data.map.center.lng();
});