【问题标题】:Are user uploaded Street Views available in the Google Maps Android API v2?Google Maps Android API v2 中是否提供用户上传的街景?
【发布时间】:2023-04-08 01:26:01
【问题描述】:

我们以this location 为例。纬度/经度为 39.9477959/-75.1850599。

我可以使用 Google JS API 拉出这个街景没有问题。但是,使用这些相同的坐标和 Google Maps Android API,我得到的只是黑屏。

重现问题克隆并更改坐标here

【问题讨论】:

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


    【解决方案1】:

    我认为如果您使用相同的坐标,它不会有冲突。基于此related SO question,当位置不存在时会出现黑屏。只需检查它是否已加载。

    @Override
    public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
        mPanorama.setOnStreetViewPanoramaChangeListener(new StreetViewPanorama.OnStreetViewPanoramaChangeListener() {
            @Override
            public void onStreetViewPanoramaChange(StreetViewPanoramaLocation streetViewPanoramaLocation) {
                if (streetViewPanoramaLocation != null && streetViewPanoramaLocation.links != null) {
                    // location is present
                } else {
                    // location not available
                }
            }
        });
    

    这是来自Google documentationexample

    public class StreetViewPanoramaBasicDemoActivity extends AppCompatActivity {
    
        // George St, Sydney
        private static final LatLng SYDNEY = new LatLng(-33.87365, 151.20689);
    
        @Override
        protected void onCreate(final Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.street_view_panorama_basic_demo);
    
            SupportStreetViewPanoramaFragment streetViewPanoramaFragment =
                    (SupportStreetViewPanoramaFragment)
                            getSupportFragmentManager().findFragmentById(R.id.streetviewpanorama);
            streetViewPanoramaFragment.getStreetViewPanoramaAsync(
                    new OnStreetViewPanoramaReadyCallback() {
                        @Override
                        public void onStreetViewPanoramaReady(StreetViewPanorama panorama) {
                            // Only set the panorama to SYDNEY on startup (when no panoramas have been
                            // loaded which is when the savedInstanceState is null).
                            if (savedInstanceState == null) {
                                panorama.setPosition(SYDNEY);
                            }
                        }
                    });
        }
    }
    

    希望这会有所帮助!

    【讨论】:

    • abielita,谢谢,但问题是用户提交的纬度/经度为 39.9477959/-75.1850599 的位置在 JS API 中可用,但在 Android API 中似乎不可用。重现问题克隆并将坐标更改为 39.9477959/-75.1850599 here
    【解决方案2】:

    好像没有,见Issue 7033。那里有一个新的、更好的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 2013-03-24
      • 2023-04-02
      相关资源
      最近更新 更多