我正在创建一个简单的地图应用程序。我成功实现了谷歌地图我的活动但无法移动相机,添加标记或任何其他操作。
这是我的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;
有什么建议吗? 感谢。
答案 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();
}
}