gpt4 book ai didi

android - 无法创建集群管理器实例(使用 Google Maps Android API 实用程序库)

转载 作者:行者123 更新时间:2023-11-29 14:37:42 26 4
gpt4 key购买 nike

更新:(问题已解决)最后它在我的 Intellij Idea 13

中工作

问题是没有正确导入库。转到 Project Structure,选择 Modules,从现有源中将库添加为模块,然后点击它,它会显示 Android 并检查它作为 Library Module,然后它会工作

enter image description here enter image description here

我正在使用 Google Maps Android API Utility Library在我的应用程序中。如果我创建一个 GoogleMap 实例并将相机移动到特定位置,它就可以工作!代码可以在下面找到。

不幸的是,如果我调用 mClusterManager = new ClusterManager<MyItem>(this, mMap);并向其中添加项目,应用程序将崩溃。谁能帮忙?这是怎么回事?

public class MapActivity  extends  FragmentActivity{

private GoogleMap mMap;
private ClusterManager<MyItem> mClusterManager;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
setUpMapIfNeeded();
}

@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}

private void setUpMapIfNeeded() {
if (mMap != null) {
return;
}
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
if (mMap != null) {
//if comment out mCLusterManager instantiation, the app works and show the map
//mClusterManager = new ClusterManager<MyItem>(this, mMap);

mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.5, -0.35), 9));
}
}
}

下面是 map.xml(从 https://github.com/googlemaps/android-maps-utils 得到的)

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment"/>

logcat 中的错误:

10-02 18:13:08.667    2854-2854/your.androidclient E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.maps.android.clustering.ClusterManager
at your.androidclient.AndroidClientActivity.setUpMapIfNeeded(AndroidClientActivity.java:115)
at your.androidclient.AndroidClientActivity.onCreate(AndroidClientActivity.java:99)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

最佳答案

文档告诉你使用:

compile 'com.google.maps.android:android-maps-utils:0.4+'

使用这个会报错。你必须使用 android-maps-utils:0.4.2

compile 'com.google.maps.android:android-maps-utils:0.4.2'

这将消除错误。

注意:我在另一个答案中发布了使用 0.3+,尽管 0.4.2 显然更好。无论哪种方式,0.4+ 都不起作用,而其他的则起作用

关于android - 无法创建集群管理器实例(使用 Google Maps Android API 实用程序库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26165285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com