【问题标题】:Sencha Touch - Google Map and centering a MarkerSencha Touch - 谷歌地图和居中标记
【发布时间】:2013-02-23 14:41:05
【问题描述】:

只是我还是 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 的怪癖。

【问题讨论】:

  • 如果你使用googleMap.setCenter(pos);会发生什么
  • 我尝试 marker.getPosition() 的原因是我看到了一个使用它的示例,但它实际上与使用 .setCenter(pos) 相同

标签: google-maps sencha-touch-2


【解决方案1】:

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

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

不知道是不是bug,但是showcase里有这种方式。

【讨论】:

  • 很奇怪,这似乎可以解决问题。应该是时间问题。我想我也必须将设置的缩放级别放在回调中。谢谢。
猜你喜欢
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
相关资源
最近更新 更多