![](/img/trans.png)
[英]How to extract all lat-long coordinates from DirectionsResult object (Google Maps Javascript directions API)
[英]Fail to extract Lat Long from Google Maps
我想创建一个在Google Map上单击以插入MySQL表的Lat Long点列表。 首先,我尝试在文本框中显示一个单击的“纬度长点”。 下面的JavaScript代码是从PHP生成的。 显示地图和文本框,但不显示单击的坐标。 光标是抓手。 单击将手闭合(准备拖动),然后双击放大。 我不熟悉JavaScript,并且已经从他人那里复制了代码。 我错过了什么?
<style type='text/css'>
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { height: 80% }
</style>
<script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?key=MYKEY'>
</script>
<script type='text/javascript'>
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.addDomListener(window, 'load', initialize);
google.maps.event.addListener(map,'click',
function event() { document.getElementById('latlongclicked').value = event.latLng.lat() + ', ' + event.latLng.lng() })
</script>
<div class='eventtext'>
<div>Lat Lng on click:
<input type='text' id='latlongclicked'>
</input>
</div>
</div>
更改此:
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”事件监听器,该事件监听器无法访问它(并且还将在必须创建地图之前尝试进行此操作)。
也将该事件侦听器移到Initialize函数内(或使其成为全局变量,即,定义var map;
在JavaScript的顶部)
例如这应该工作
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.