我正在尝试使用Google Maps Api V2并按照Android Google Maps Article
中的所有步骤操作但是在完成所有步骤之后,代码在我的glaxy young上执行,安装了2.36但是显示了空白的地图屏幕
我的主要活动代码是
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showmapactivity_layout);
FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment mySupportMapFragment
= (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
map = mySupportMapFragment.getMap();
//map = getFragmentManager().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)));
// Move the camera instantly to hamburg with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
}
Maifestfile代码是
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.archifiles.pointpakistan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />
<permission
android:name="com.archifiles.pointpakistan.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="com.archifiles.pointpakistan.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.archifiles.pointpakistan.SplashScreenActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"></activity>
<activity android:name=".POIActivity"></activity>
<activity android:name=".ShowMapActivity"></activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyDe_pk7x98rwq2GTkaaUUv0K0Yri3TRPUA" />
<uses-library
android:name="com.google.android.maps"
android:required="true" />
</application>
布局文件代码
<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=".MainActivity" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</RelativeLayout>
log cat中没有可用的日志跟踪。
答案 0 :(得分:0)
实际上您使用了SupportMapFragment
。像
SupportMapFragment gm;
gm = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap();
所以在xml文件中你也必须像这样使用
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
/>
希望它能奏效。
在清单
中删除以下这一行<uses-library
android:name="com.google.android.maps"
android:required="true" />
答案 1 :(得分:0)
出现此问题的原因是密钥无效,生成有效密钥并在密钥结尾添加当前软件包名称。
获取密钥:
In the left navigation bar, click API Access. In the resulting page, click Create New Android Key.... In the resulting dialog, enter the SHA-1 fingerprint, then a semicolon, then your application's package name. For example: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample The Google APIs Console responds by displaying Key for Android apps (with certificates) followed by a forty-character API key, for
示例:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0 Copy this key value. You will use it in the next step.
检查此网址。
https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key