3

只是我还是 google maps 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);

    }

它似乎将标记放置在屏幕的中心,但是当我返回并在第二次或第三次显示相同的屏幕时,添加了标记,但这次标记没有居中。

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

4

1 回答 1

3

你必须以一个小的超时时间将其居中,这样它才能正常工作。

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

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

于 2013-02-23T14:52:37.203 回答