Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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应用程序上显示谷歌地图_Android_Eclipse_Google Maps Android Api 2 - Fatal编程技术网

坎恩';不要在我的android应用程序上显示谷歌地图

坎恩';不要在我的android应用程序上显示谷歌地图,android,eclipse,google-maps-android-api-2,Android,Eclipse,Google Maps Android Api 2,我创建了一个android应用程序,它使用谷歌地图。因此,我下载了这个项目,完成了所有工作,并添加了API密钥,但当我运行应用程序时,地图不可见,我只能看到缩放按钮和一些方形瓷砖 我知道我的API密钥有问题,但我无法正确获取它,以下是我获取它的方法: 1) 从eclipse>>窗口>>首选项>>android>>构建中,我找到了我的SHA1指纹。 2) 我进入谷歌API控制台,确保我选择了android v2版的谷歌地图。 3) 创建新的安卓密钥并验证我的SHA1指纹和我的包名 有人能帮我吗 这

我创建了一个android应用程序,它使用谷歌地图。因此,我下载了这个项目,完成了所有工作,并添加了API密钥,但当我运行应用程序时,地图不可见,我只能看到缩放按钮和一些方形瓷砖

我知道我的API密钥有问题,但我无法正确获取它,以下是我获取它的方法:

1) 从eclipse>>窗口>>首选项>>android>>构建中,我找到了我的SHA1指纹。 2) 我进入谷歌API控制台,确保我选择了android v2版的谷歌地图。 3) 创建新的安卓密钥并验证我的SHA1指纹和我的包名

有人能帮我吗
这是我的项目的直接下载链接:

尝试从您的google开发者控制台验证所有应用程序以使用您的密钥(将字段留空)

创建一个简单的应用程序,并检查您的API密钥是否正确

只需使用MapFragment创建布局并将其设置为活动

activity_map.xml

 <?xml version="1.0" encoding="utf-8"?>
   <fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:name="com.google.android.gms.maps.MapFragment"/>
还可以在应用程序下的清单中添加元标记

 <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="Your API Key"/>


启动应用程序时,您应该会在“活动”中看到已加载的地图。如果这不起作用,请使用API密钥解决此问题。If works将您的代码更改为使用自定义MapFragment。

您应该将其添加到清单中

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

这是一个google play services示例

我通过遵循google开发者网站中的确切步骤成功实现了它:


发布您的代码。我可以用我的密钥检查这是我的项目的直接下载链接:你是说当我得到api时,我只是粘贴我的SHA1指纹而没有我的软件包吗?不,我是说你从哪里得到api密钥,你需要填写你的应用程序的sha指纹,如果你让它为空,那么你就可以在所有应用程序中使用你的密钥。还要确保你有一个android googlemp Apikey谢谢,我已经试过了,但不幸的是没有成功。如果你想查看我的项目,我已经发布了一个直接链接到我的项目。2分钟后查看,BRB我想不出来,你最好使用Gmap api V2,并遵循谷歌提供的教程,更简单,你可以为Android 4.0(90%的市场份额)构建它。他正在使用谷歌api 2.2,我怀疑他是否可以使用FragmentActivity标记你的文章单击回答框左侧的绿色图标a“已回答”
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/key_map"/>
<meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    <com.google.android.gms.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
public class MyMapLocationActivity extends FragmentActivity {
    private MapView mMapView;
    private GoogleMap mMap;

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

        mMapView = (MapView) findViewById(R.id.map);
        mMapView.onCreate(savedInstanceState);

        setUpMapIfNeeded();
    }

    @Override
    protected void onResume() {
        super.onResume();
        mMapView.onResume();

        setUpMapIfNeeded();
    }

    private void setUpMapIfNeeded() {
        if (mMap == null) {
            mMap = ((MapView) findViewById(R.id.map)).getMap();
            if (mMap != null) {
                setUpMap();
            }
        }
    }

    private void setUpMap() {
        mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
    }

    @Override
    protected void onPause() {
        mMapView.onPause();
        super.onPause();
    }

    @Override
    protected void onDestroy() {
        mMapView.onDestroy();
        super.onDestroy();
    }

    @Override
    public void onLowMemory() {
        super.onLowMemory();
        mMapView.onLowMemory();
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        mMapView.onSaveInstanceState(outState);
    }
}