我已经检查了有关此主题的所有主题,但即使遵循建议和教程我也遇到同样的问题。
奇怪的是,我创建了一个具有相同配置的示例项目,并且它可以工作!即使我更改api密钥也能正常工作,所以我不知道问题是否是关键。
清单文件:
<permission
android:name="mypackage.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="mypackage.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<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" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
内部应用程序标记:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my api key"/>
的活动:
public class MapaActivity extends FragmentActivity{
private GoogleMap mMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapa);
setUpMapIfNeeded();
}
@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}
private void setUpMapIfNeeded() {
if (mMap == null) {
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
if (mMap != null) {
setUpMap();
}
}
}
private void setUpMap() {
mMap.addMarker(new MarkerOptions().position(new LatLng(40, 12)).title("Marker"));
}
}
答案 0 :(得分:0)
您是否正在使用相同的密钥库运行这两个应用程序? 应该与sha1指纹和包名一起创建api密钥,这样你就可能错过了一些逻辑。