【问题标题】:Android Google Maps show location without internetAndroid 谷歌地图在没有互联网的情况下显示位置
【发布时间】:2015-11-28 03:02:23
【问题描述】:

我正在使用SupportMapFragment,当我在互联网上使用GoogleMap 时,很容易从GoogleMaps Android 显示蓝点以显示我的位置并将相机缩放到它,但是当我的应用程序处于离线模式但位置处于打开状态时我可以轻松缩放到我的位置,但无法显示那个蓝点。

if (mGoogleMap != null) { List<RestaurantDTO> local = new ArrayList<>(); local.addAll(mRestData); mGoogleMap.setInfoWindowAdapter(new RestaurantAdapter()); mGoogleMap.setMyLocationEnabled(true); mGoogleMap.getMyLocation(); mGoogleMap.getFocusedBuilding();

所以在这里我认为主要的 mGoogleMap.setMyLocationEnabled(true);mGoogleMap.getMyLocation(); 方法这样当我删除时它不会显示我的蓝色圆圈图钉。

【问题讨论】:

  • 可能正在使用您的网络提供商
  • @Androider ,你能解释一下吗?
  • @KirillZotov 你能编辑你的答案以显示代码吗?
  • 如果您重新安装应用程序,mapView 将没有缓存,因此无法显示您所在位置的蓝点。但是如果你有互联网连接,打开你的应用程序,关闭互联网,关闭你的应用程序,然后重新打开你的应用程序,它会显示蓝点,因为它使用了 mapView 的缓存。
  • 嗯,在我的情况下它没有显示,有没有办法检查它是否正在缓存或服从 map 来散列本身?

标签: android google-maps google-maps-markers google-maps-android-api-2


【解决方案1】:

地图没有缓存任何东西,你需要检查你是否有互联网连接并设置位置源

 if (!CommonUtils.isHasInternetConnection(mCtx)) {    .icon(BitmapDescriptorFactory.fromResource(R.drawable.blue_google_maps_img)));
                LocationSource source = new LocationSource() {
                    @Override
                    public void activate(OnLocationChangedListener onLocationChangedListener) {
                        Location location = new Location("myProvider");
                        location.setLatitude(mCurrLatLng.latitude);
                        location.setLongitude(mCurrLatLng.longitude);
                        onLocationChangedListener.onLocationChanged(location);
                    }

                    @Override
                    public void deactivate() {
                    }
                };
                mGoogleMap.setLocationSource(source);
            }

【讨论】:

    猜你喜欢
    • 2015-08-25
    • 2018-08-05
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    相关资源
    最近更新 更多