谷歌地图地理编码未定义

12

我有这段在页面加载时被初始化的代码。

// 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
3个回答

42

那么...嗯...它的意思是什么。你正在使用geocoder.geocode(...),但你没有定义任何名为geocoder的变量。你有忘记了吗:

var geocoder= new google.maps.Geocoder();

1
这是针对此特定情况的答案,但如果该解决方案不适用于新的重复问题,是否应该开启新的重复问题? 我在代码开头有那一行,并且我的匿名函数(在上面一行之前不执行,但是onclick时调用它)发现它未定义。我在此函数链中的每个函数内使用console.log测试了地理编码器,但它们都找不到它。这就像在文档级别上设置“var geocoder = ...”是不够的。 - sergio
嗯,对我来说听起来像是另外一个问题!建议发帖时附上最小可重现的测试用例。 - bobince

5
你是否在代码中找到了这行代码?我在提供的代码中没有看到它。
geocoder = new google.maps.Geocoder();

2
请确保您已经
做好了准备

    <script src="https://maps.google.com/maps?file=api&amp;v=3&amp;sensor=false"
     type="text/javascript"></script>

在运行 JavaScript 代码之前,需要执行一些操作。

这就是让我感到困扰的原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接