首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google侦听器内部的地理代码

Google侦听器内部的地理代码
EN

Stack Overflow用户
提问于 2011-10-11 10:03:19
回答 1查看 380关注 0票数 1

我不知道为什么r1变量是未定义的。'latLng':mEvent.latLng的东西在其他函数上运行得很好.

代码语言:javascript
复制
<!-- API V3 --> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

……

.

……

代码语言:javascript
复制
google.maps.event.addListener(map, 'click', function(mEvent) {

            var geo1 = new google.maps.Geocoder();
            geo1.geocode( { 'latLng': mEvent.latLng }, function(results, status) {
                if ( status == google.maps.GeocoderStatus.OK )
                {
                    var r1 = results[0].formatted_address;
                }
                else
                {
                    var r1 = '?';
                }
            });

            //do things with mEvent.latLng and r1...
EN

回答 1

Stack Overflow用户

发布于 2011-10-11 11:26:57

变量r1很可能是未定义的,因为它超出了作用域。你得把它的声明移高一点。例如:

代码语言:javascript
复制
google.maps.event.addListener(map, 'click', function(mEvent) {

        var geo1 = new google.maps.Geocoder();
        var r1;
        geo1.geocode( { 'latLng': mEvent.latLng }, function(results, status) {
            if ( status == google.maps.GeocoderStatus.OK )
            {
                r1 = results[0].formatted_address;
            }
            else
            {
                r1 = '?';
            }
        });

        //do things with mEvent.latLng and r1...

如果您仍然发现一些问题,请使用Firebug (在Firefox中)或在其他浏览器中的调试器中内置。您可以插入“调试器;”关键字,以便在调试器处于活动状态时在某一行停止。然后,您将能够检查哪些变量可用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7724324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档