- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当前的 Android Google Maps API 要求您在访问 GoogleMap
之前使用 OnMapReadyCallback
调用 mapFragment.getMapAsync
。我假设一旦你有了 GoogleMap
就可以安全地调用 moveCamera()
但我看到崩溃报告中有一个 IllegalStateException
说 map 大小不能为 0。很可能, map View 的布局尚未发生
。
所以我尝试添加一个 ViewTreeObserver.OnPreDrawListener
,并将 moveCamera()
调用移动到 onPreDraw
方法,作为该方法的文档说“此时,树中的所有 View 都已测量并给出了一个框架”。但我仍然看到一些具有相同问题的崩溃报告。我找不到这方面的任何文档 — 有类似 moveCamera with CameraUpdateFactory.newLatLngBounds crashes 的问题但它们早于 getMapAsync
API,因此帮助不大。
最佳答案
我遇到了同样的问题。当应用程序尝试通过此相机更新更改相机时,此谷歌地图库会抛出异常,直到 map 经过布局(为了使此方法正确确定适当的边界框和缩放级别, map 必须具有大小)。它描述了here .
这是我的解决方案:
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMapLoadedCallback(this);
}
@Override
public void onMapLoaded() {
googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(…));
}
关于android - 什么时候可以在 OnMapReadyCallback 的 onMapReady 之后调用 GoogleMap.moveCamera?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935649/
我尝试将 OnMapReadyCallback 设置为获取 map 异步参数。但是android告诉我它需要GoogleMap对象,在文档中onMapReady()是无效的。代码如下 private
我有三项 Activity : 主要 Activity : public void start_main_map(View view) { Intent intent = new In
我有一个以通常方式实现的 Google map ,调用 MapFragment 的 getMapAsync() 然后等待调用 onMapReady() 以提供 GoogleMap 实例。在我添加代码以
当我使用 Retrofit 从服务器调用 lon,lat 时,数据就在这里; 双经度,纬度; NetworkEngine.getInstance().getResDetail(id, new Call
我正在构建一个与谷歌地图相关的应用程序。在此我试图在 fragment 中实现 map 。我在 OnMapReady 方法中操作 map 。但是应用程序没有调用 OnMapReady 方法。我在 Ac
我正在做一个使用谷歌地图的项目,最近我遇到了一个不合理的问题。 这是我的 onMapReady 回调: @Override public void onMapReady(GoogleMap goog
我想从onResume中调用onMapReady方法,问题是它有 (GoogleMap map) 我不能这样调用它 onMapReady(); 这是方法 @Override public void o
我有一个 fragment (fragment_search),我想在其中以编程方式添加另一个 fragment (map_fragment),但我遇到了一个问题,其中 tab_content.onR
我对 onMapReady 有疑问。当我传递这样的地址时: LatLng myAddressCoordinates = getLocationFromAddress("Piazza Ferretto
我有一个正在开发中的 android 应用程序,它使用这个 google maps api v2。要使用 onMapReady callback 获取 google map im 的实例.在这个回调中
谁能解释一下 OnMapReadyCallback.OnMapReady(GoogleMap googleMap) 和 GoogleMap.OnMapLoadedCallback.OnMapLoade
我想在我的一个 View 中集成 map View 。 我已经生成了一个新的 map fragment 。它以不同的视角出现,并且很有魅力。 然后我尝试将代码集成到一个正常的 Activity 中(一
我正在尝试在 fragment 中实现 map ,我能够显示 map ,但 onMapReady 没有工作,因为它没有添加标记也没有移动相机。代码 map fragment class MapFrag
我正在构建一个跟踪 map ,其中包含两个标记,一个是当前位置,第二个是从数据库服务器获取其 LatLng,它在两周内运行良好,现在它只显示没有任何标记的 map ,当我尝试调试应用程序并向 onMa
我正在尝试在 Android 应用程序中使用 Google map API v2 显示一个简单的 map 。我正在关注 Map API Documentation指示。但我认为 onMapReady
您好开发人员, 我在 android studio 中使用 google map Activity 创建了一个 map ,我的类扩展了 AppCompactActivity,因为我想使用工具栏。当运行
所以我遇到的问题是我不确定如何访问 map 来设置初始位置。 Fragment 总是返回 NULL,所以它似乎没有调用 getMapReady 函数。我只是不确定如何在布局中正确引用 map 小部件,
我创建了一个基本的 Android 应用程序,旨在提供一张 map ,上面有一个汉堡抽屉。每个汉堡菜单选项都将在 GoogleMap 对象上运行对象方法。 问题是,当汉堡抽屉创建并工作时, map 的
在我的 Google map 初始化后,我试图从设备屏幕上的可见区域获取 LatLngBounds。但是我只收到 0 值。我的猜测是即使在调用 OnMapReady 之后, map 实际上还没有加载。
我在一个 android 项目中同时拥有 GMS 和 HMS。 GMS 版本有效,但 HMS 不调用 onMapReady 回调。这是代码: private var mMap: HuaweiM
我是一名优秀的程序员,十分优秀!