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