我想创建一个点击谷歌地图的Lat Long点列表,以插入MySQL表格。首先,我尝试在文本框中显示一个单击的Lat Long点。下面的JavaScript代码是从PHP生成的。将显示地图和文本框,但不会显示单击的坐标。光标是抓手。单击将关闭手(准备拖动)并双击缩放。我不熟悉JavaScript并且已经复制了其他人的代码。我错过了什么?
Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Message");
答案 0 :(得分:0)
改变这个:
google.maps.event.addListener(map,'click', function event() { document.getElementById('latlongclicked').value = event.latLng.lat() + ', ' + event.latLng.lng() })
对此:
google.maps.event.addListener(map,'click', function(event) {
document.getElementById('latlongclicked').value = event.latLng.lat() + ', ' + event.latLng.lng()
});
你需要引用event
作为函数的参数,即function(event)
......而你正在做function event ()
您还有一个问题,即您map
函数中已将initialize
定义为局部变量。但是你在该函数之外添加了“click”事件监听器,该监听器无法访问它(并且还必须在创建映射之前尝试执行此操作)。
将该事件监听器移动到初始化函数中(或使其成为全局变量,即在javascript顶部定义var map;
)
e.g。这应该工作
function initialize() {
var mapOptions = {
center: {
lat: 55.9355,
lng: -4.61192
},
zoom: 12,
zoomControl: true
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
google.maps.event.addListener(map, 'click', function (event) {
document.getElementById('latlongclicked').value = event.latLng.lat() + ', ' + event.latLng.lng()
});
}
google.maps.event.addDomListener(window, 'load', initialize);