Я интегрирую Карты Google, и пользователь помещает булавку в их местоположение. Затем я использую событие dragend для получения lat и lng. У меня есть следующий код, но я продолжаю получать следующую ошибку:Javascript: Uncaught TypeError: Не удается прочитать свойство «lat» undefined (...)
Uncaught TypeError: Cannot read property 'lat' of undefined(…)
В чем проблема?
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?key=API_KEY">
</script>
<script type="text/javascript">
function initialize() {
var map;
var latlng = new google.maps.LatLng(-17.86389, 31.02972);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
// Creating a marker and positioning it on the map
var marker = new google.maps.Marker({
position: new google.maps.LatLng(-17.86389, 31.02972),
map: map,
draggable:true,
title:"Drag pin to your exact store location."
});
google.maps.event.addListener(marker, 'dragend', function (event) {
document.getElementById("latbox").value = event.LatLng.lat();
document.getElementById("lngbox").value = event.LatLng.lng();
});
}
</script>
<div id="map_canvas" style="width:100%; height:100%"></div>
<input size="20" type="text" id="latbox" name="lat" >
<input size="20" type="text" id="lngbox" name="lng" >
У меня также есть:
<body onload="initialize()">
Конечно, это должно работать?
означает 'LatLng' неопределен – epascarello
Чего не хватает? Что я должен сделать, чтобы определить это? @epascarello –
Я не уверен, что исправить его 'console.log (event)' и посмотреть, где находятся данные, которые вы пытаетесь прочитать – epascarello