我检查了很多答案来解决这个问题,但我没有得到正确的解决方案来解决我的错误。
使用此链接http://hmkcode.com/getting-android-google-maps-v2-api-key/
创建带有sha1指纹的api键如果我在我的机器中生成api键,在我的设备中运行我的应用程序时工作正常。如果我的朋友在他的机器中运行相同的代码,则地图视图显示白屏。
layout.xml
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="136dp"
android:name="com.google.android.gms.maps.MapFragment"
/>
location.java 它在oncreate方法
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@SuppressLint("NewApi")
private void mapview(String lattit, String longi) {
double newlat=Double.parseDouble(lattit);
double newlongi=Double.parseDouble(longi);
if(map !=null){
// Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
// .title("Hamburg"));
MarkerOptions marker = new MarkerOptions().position(new LatLng(newlat, newlongi)).title("Hello Maps ");
map.addMarker(marker);
// Marker kiel = map.addMarker(new MarkerOptions()
// .position(KIEL)
// .title("Kiel")
// .snippet("Kiel is cool")
// .icon(BitmapDescriptorFactory
// .fromResource(R.drawable.ic_launcher)));
marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
LatLng Newone = new LatLng(newlat, newlongi);
// Move the camera instantly to hamburg with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(Newone, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
}
}
的AndroidManifest.xml
<permission
android:name="com.companyname.appname.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="com.companyname.appname.permission.MAPS_RECEIVE" />
<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"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="key" />
</application>
只使用这些代码我也生成了sha1键
keytool -list -v -keystore C:\ Users \ .android \ debug.keystore -storepass android -keypass android