获取地理编码功能之外的标记

时间:2011-05-31 18:11:58

标签: javascript google-maps geocode

我希望能够捕获地理编码功能之外的标记对象,并且无法弄清楚如何 请帮帮我。

代码:

geocoder.geocode({ address: address }, 
    function(results, status) {
        if (status == google.maps.GeocoderStatus.OK && results.length) {
            if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                map.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker({
                    position: results[0].geometry.location,
                    map: map
                });
            }
        }
    });

提前致谢!

1 个答案:

答案 0 :(得分:1)

只需在回调之外声明您的marker变量,并在回调中为其指定一个值:

var marker = null;
geocoder.geocode({ address: address }, 
    function(results, status) {
        if (status == google.maps.GeocoderStatus.OK && results.length) {
            if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                map.setCenter(results[0].geometry.location);
                marker = new google.maps.Marker({
                    position: results[0].geometry.location,
                    map: map
                });
            }
        }
    }
);

但要小心,回调是异步的,因此在触发回调之前,marker中没有任何有用的东西。