我在应用程序中从谷歌地图获取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);
}
});
}
答案 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地图的实例获得lat
和lng
:
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();
});