Sencha Touch - Google Map并以Marker为中心

时间:2013-02-23 14:41:06

标签: google-maps sencha-touch-2

这只是我还是谷歌地图api似乎是古怪的一面? 尝试简单地显示某些坐标的标记,然后将屏幕置于标记中心。

在我的控制器中从视图中触发:

onGoogleMapRender: function (googleMap) {

        var long = record.get("Longitude");
        var lat = record.get("Latitude");

        var pos = new google.maps.LatLng(lat, long);

        var marker = new google.maps.Marker({
            position: pos
        });

        marker.setMap(googleMap);
        googleMap.setCenter(marker.getPosition());
        googleMap.setZoom(14);

    }

似乎将标记放在屏幕的中央,但当我返回并在第2次或第3次显示相同的屏幕时,标记会被添加,但这次标记不会居中。

有没有人让这个工作正常?我不认为它与任何ST2有关,但更多的是谷歌api的怪癖。

1 个答案:

答案 0 :(得分:3)

你需要以一个很小的超时为中心,而不是工作正常。

setTimeout(function() {
    googleMap.panTo(marker.getPosition());
}, 100);

我不知道这是不是一个错误,但这种方式显示在展示中。