尝试了以下脚本,但最后一部分不起作用。请帮忙。
//script type="text/javascript"
var myOptions = {
zoom: 7,
center: new google.maps.LatLng(-36.624345125527526,144.96459973437504),
mapTypeId: google.maps.MapTypeId.TERRAIN,
streetViewControl: false,
draggableCursor: 'crosshair',
draggingCursor: 'pointer'
};
var map = new google.maps.Map(document.getElementById('map_canvas'),
myOptions);
google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
});
map.panTo(position);
//不工作
google.maps.event.addListener(marker, 'dragend', function() {
var point = marker.getPosition();
document.getElementById("latitude").getElementsByTagName("input")[0].value = point.lat();
document.getElementById("longitude").getElementsByTagName("input")[0].value = point.lng();
});
//脚本结束
尝试使用以下内容,但拖动标记后没有任何结果。似乎侦听器没有侦听标记的"dragend"事件。有线索吗?在地图上拖动标记后获得latLng的其他选项?
//JS代码
google.maps.event.addListener(marker, 'dragend', function(e) {
var point = e.latLng;
alert(marker.e.latLng);
})
//结束代码
输入元素部分不是一个选择,因为脚本位于基于web的应用程序的嵌入式占位符中。所以不能改变那部分。
您应该使用dragend事件传递的MouseEvent
对象作为标记。像这样:
google.maps.event.addListener(marker, 'dragend', function(e) {
var point = e.latLng;
document.getElementById("latitude").getElementsByTagName("input")[0].value = point.lat();
document.getElementById("longitude").getElementsByTagName("input")[0].value = point.lng();
});
我也不知道为什么你不只是命名你的输入元素并直接访问它们。。。像这样的东西:
document.getElementById("latitude_input").value = point.lat();
document.getElementById("longitude_input").value = point.lng();