谷歌地图v3--为什么这些地图方法未定义?

时间:2013-01-25 00:16:40

标签: google-maps-api-3

我是地图API的V3版本的新手,过去曾使用过V2。因此,在尝试将应用程序从V2移植到V3时,我遇到了一些地图创建问题。

我现在正在创建这样的地图,它似乎有用 - 我在变量m_oGoogleMap中返回了一个地图对象:

    m_oGoogleMap = new google.maps.Map(
    $('Map'), {
        scaleControl: true,
        scaleControlOptions: {
            position: google.maps.ControlPosition.LEFT_TOP
        },          
        panControl: true,
        panControlOptions: {
            position: google.maps.ControlPosition.TOP_LEFT
        },
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        zoom: 8, 
        center: new google.maps.LatLng(LAT, LNG)
    });

...但是,执行此操作后,我无法调用getBounds()或getProjection()之类的方法而不会收到未定义的错误 - 我可以在调试时查看这些方法的存根Chrome监视表达式区域,但在那里(或页面本身)调用它们会产生未定义的错误。我错过了如何在V3中创建和初始化地图吗?

地图对象上的其他方法(例如getDiv())工作得很好。所以我不确定我是否有一个半初始化的对象或可能发生的事情?

1 个答案:

答案 0 :(得分:1)

创建映射是一个异步过程,在完成此过程之前无法访问某些方法/属性。在访问这些方法之前,请等待idletilesloaded等事件。