【问题标题】:Android: Show multiple street views (Google Maps Api)Android:显示多个街景(Google Maps Api)
【发布时间】:2015-02-23 22:24:24
【问题描述】:

我有一个名为 activity_collage.xml 的 xml 文件,其中包含 2 个街景片段 - 我希望两个片段都显示给定位置的街景 - 所以屏幕上总共有 2 个街景

这是我的代码:

public class Collage extends ActionBarActivity implements OnStreetViewPanoramaReadyCallback {

StreetViewPanoramaFragment topLeft, topRight;

static final LatLng posOne = new LatLng(43.771925, -79.512460);

static final LatLng posTwo = new LatLng(43.790634, -79.193632); 

这里是我在 onCreate() 方法中初始化 2 个 StreetViewFragment 对象的地方

topLeft =
            (StreetViewPanoramaFragment) getFragmentManager()
                    .findFragmentById(R.id.picTL);
    topLeft.getStreetViewPanoramaAsync(this);

    topRight =
            (StreetViewPanoramaFragment) getFragmentManager()
                    .findFragmentById(R.id.picTR);

这是来自 OnStreetViewPanoramaReadyCallback 接口的重写方法...

@Override
public void onStreetViewPanoramaReady(StreetViewPanorama panorama) {
    panorama.setPosition(posOne);


}

但是如何设置 topRight 的街景?

【问题讨论】:

  • 以同样的方式...只是在回调中检查panoram是否属于topRighttopLeft片段...
  • 天真的方式:panorama.setTag("I'mAHappyPanoramaCheckWhichFragmentIsMyParent"); if(topRight.getView().findViewByTag("I'mAHappyPanoramaCheckWhichFragmentIsMyParent")!=null){ /*panorama is inside topRight*/} else {/*panorama is inside topLeft*/}

标签: java android google-maps google-maps-android-api-2 google-street-view


【解决方案1】:

根据http://code.google.com/p/gmaps-api-issues/issues/detail?id=6953,不支持多个 StreetViewPanorama 对象。根据我的经验,不会出现明显错误,但第二个 StreetViewPanorama 将保持空白。

令人沮丧的是,我认为文档并没有像上面的帖子所说的那样更新。

【讨论】:

    【解决方案2】:

    我的片段 XML 包含 2 个片段:地图片段和 StreetViewPanoramaFragment 有同样的问题。街景保持空白。我设法将它与一个简单的视图而不是片段一起使用。

    使用 Kotlin,它提供了:

    val myFrag=getView()!!.findViewById<StreetViewPanoramaView>(R.id.street_view_panorama)
        myFrag.onCreate(savedInstanceState);
        myFrag.getStreetViewPanoramaAsync(OnStreetViewPanoramaReadyCallback { panorama ->
            panorama.setPosition(LatLng(55.758818, 37.620587))
            svPano = panorama
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      相关资源
      最近更新 更多