0

我是地图 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(),工作得很好。所以我不确定我是否有一个半初始化的对象或可能发生什么?

4

1 回答 1

1

地图的创建是一个异步过程,在此过程完成之前无法访问某些方法/属性。在访问这些方法之前等待类似事件idle或事件。tilesloaded

于 2013-01-25T00:55:10.783 回答