Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 谷歌地图api v2:当我想查看地图时,应用程序崩溃_Android - Fatal编程技术网

Android 谷歌地图api v2:当我想查看地图时,应用程序崩溃

Android 谷歌地图api v2:当我想查看地图时,应用程序崩溃,android,Android,我正在制作片段以显示谷歌地图。但当我显示地图时,应用程序总是会崩溃。 我已经在libs中提供了android-support-v4和googleplay服务。 这是我的活动代码: package com.example.attijaribank2; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.M

我正在制作片段以显示谷歌地图。但当我显示地图时,应用程序总是会崩溃。 我已经在libs中提供了android-support-v4和googleplay服务。 这是我的活动代码:

package com.example.attijaribank2; 
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class Votresolde extends FragmentActivity {
static final LatLng HAMBURG = new LatLng(53.558, 9.927);
static final LatLng KIEL = new LatLng(53.551, 9.993);
private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_solde);
map =         ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
        .title("Hamburg"));
    Marker kiel = map.addMarker(new MarkerOptions()
        .position(KIEL)
        .title("Kiel")
        .snippet("Kiel is cool")
        .icon(BitmapDescriptorFactory
            .fromResource(R.drawable.ic_launcher)));


    map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));


    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));


    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);    
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_solde, menu);
return true;
}

}
我做错了什么?还是关于xml文件

这是xml文件:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>

它说google play服务缺失,但我确实导入了它。

google play服务缺失

这意味着要么您正在未安装Google play的emulator上测试

请查看官方链接以澄清您的疑问,其中说明:

Note: Google Play services is not supported on the Android emulator — to develop using the APIs, you need to provide a development device such as an Android phone or tablet. 

我找到了这个答案,解决了我的问题:

尤其是这一部分对我很有用:

a) 将目录ANDROID_SDK_DIR/extras/google/google_play_services/libproject/google-play-services_lib复制到项目的根目录

b) 将下一行添加到YOUR_PROJECT/PROJECT.properties:

android.library.reference.1=google-play-services_lib
c) 将下一行添加到YOUR_PROJECT/proguard-PROJECT.txt:

keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
注意
如果您使用min SDK=8创建应用程序,请使用android支持库v4+SupportMapFragment而不是MapFragment。

请发布日志cat异常和XML文件我编辑了帖子并添加了XML文件和部分日志cat请检查我的答案。.确定。刚刚在我的android手机2.3.3上测试了它,没有崩溃,但得到一个只有+和-的空白页面。请检查您的API密钥…当您没有将正确的API密钥放入清单文件android:name=“com.google.android.maps.v2.API_key”android:value=“AIzaSyBpAB9minJCKW_c9eQQMUbf-2hkyNqvRUY”时会出现此问题/>我很确定这是对的。这让人困惑。但是请再次确认您的API密钥,请检查创建API密钥的链接:感谢您的ansewrs,交易是我正在使用debug.keystore并为应用程序创建另一个密钥。我感谢你的回答!
keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}