Google地图加载失败

时间:2014-07-26 05:31:33

标签: android google-maps geolocation api-key

我正在创建一个简单的地图应用程序。我成功实现了谷歌地图我的活动但无法移动相机,添加标记或任何其他操作。

这是我的logcat:

07-26 08:16:05.820: I/dalvikvm(16116): Failed resolving Lcom/google/android/gms/location/internal/ParcelableGeofence; interface 4023 'Lgln;'
07-26 08:16:05.820: W/dalvikvm(16116): Link of class 'Lcom/google/android/gms/location/internal/ParcelableGeofence;' failed
07-26 08:16:05.820: E/dalvikvm(16116): Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method glt.a
07-26 08:16:05.820: W/dalvikvm(16116): VFY: unable to resolve check-cast 2086 (Lcom/google/android/gms/location/internal/ParcelableGeofence;) in Lglt;

有什么建议吗? 感谢。

1 个答案:

答案 0 :(得分:0)

我告诉你我是如何解决你遇到的同样问题的。

首先,我清理了所有sdk,然后又重新下载了Google Play Services lib。然后我删除了我的计算机的.android文件夹,并重新生成了我的debug.keystore。

之后,我只是获取新的SHA1以获取我的Google Maps V2 Api Key。

更新我的apikey后,让我们看看我如何更改代码。

现在我在你的xml布局中使用带有MapView的MapFragment片段。

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" >

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.MapFragment" />

使用FragmentManager找到它:

   public class MapsActivity extends Activity
{
private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);

    // Gets the MapView from the XML layout and creates it
    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    map.getUiSettings().setMyLocationButtonEnabled(false);
    //map.setMyLocationEnabled(true);
    map.setOnMapClickListener(this);
    map.setOnMapLongClickListener(this);
    try 
    {
        MapsInitializer.initialize(MapsActivity.this);
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}