- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我将尝试在名为 RoeteFragment
的 fragment 上显示我的 Android 应用程序中的 map 。如果我调试我的代码,我会看到方法 onMapReady
从未被调用,因此 map 不会加载。
该 fragment 按需要实现了 OnMapReadyCallback
,在 onCreateView
中,我获得了 MapView
并调用了 getMapAsync
。如果我在那个方法上放置一个断点,它总是会被击中,onMapReady
中的断点永远不会被击中。没有抛出异常。
我在文件 res/values/google_maps_api.xml
中还有一个有效的 Google Maps API key 。
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map" />
</RelativeLayout>
public class RoeteFragment extends Fragment implements OnMapReadyCallback {
private MapView mapView;
private static Roete _roete;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_roete, container, false);
mapView = (MapView) view.findViewById(R.id.map);
mapView.getMapAsync(this);
return view;
}
@Override
public void onMapReady(GoogleMap googleMap) {
if (_roete != null && _roete.getAankomstLocatie() != null && _roete.getVertrekLocatie() != null) {
LatLng aankomst = new LatLng(_roete.getAankomstLocatie().getLatitude(), _roete.getAankomstLocatie().getLongitude());
googleMap.addMarker(new MarkerOptions().position(aankomst).title("aankomst"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(aankomst));
LatLng vertrek = new LatLng(_roete.getVertrekLocatie().getLatitude(), _roete.getVertrekLocatie().getLongitude());
googleMap.addMarker(new MarkerOptions().position(vertrek).title("vertrek"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(vertrek));
}
}
public static Fragment newInstance() {
return new RoeteFragment ();
}
public static Fragment newInstance(Roete roete) {
_roete = roete;
return newInstance();
}
}
你能在我的代码中提交错误吗?
最佳答案
阅读MapView
documentation .特别是:
Users of this class must forward all the life cycle methods from the
Activity
orFragment
containing this view to the corresponding ones in this class. In particular, you must forward on the following methods:
onCreate(Bundle)
onResume()
onPause()
onDestroy()
onSaveInstanceState()
onLowMemory()
关于android - MapView.onMapReady 从未在 Fragment 中调用以在 MapView 中加载 Google map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36809284/
我尝试将 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
我是一名优秀的程序员,十分优秀!