我有这个在加载时启动的代码
// Display the map
function map_it() {
var myLatlng = new google.maps.LatLng(13.005621, 77.577531);
var myOptions = {
zoom: zoomLevel,
center: myLatlng,
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
}
}
map = new google.maps.Map(document.getElementById("map-it"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function (event) {
document.getElementById('mapLat').value = marker.getPosition().lat();
document.getElementById('mapLng').value = marker.getPosition().lng();
geocodePosition(marker.getPosition());
});
}
function geocodePosition(pos) {
geocoder.geocode({
latLng: pos
}, function (responses) {
if (responses && responses.length > 0) {
updateMarkerAddress(responses[0].formatted_address);
alert(responses[0].formatted_address);
} else {
updateMarkerAddress('Cannot determine address at this location.');
}
});
}
我收到以下错误
geocoder is not defined
http://localhost/bakasura1/js/modal.js
Line 74
答案 0 :(得分:38)
geocoder.geocode(...)
,但你实际上并没有定义任何名为geocoder
的变量。你有没有忘记:
var geocoder= new google.maps.Geocoder();
答案 1 :(得分:5)
你在某处有这条线吗?我在提供的代码中没有看到它。
geocoder = new google.maps.Geocoder();
答案 2 :(得分:2)
还要确保你有
<script src="https://maps.google.com/maps?file=api&v=3&sensor=false"
type="text/javascript"></script>
在运行javascript代码之前。
这让我搞砸了。