0

我已经检查了有关该主题的所有主题,但即使遵循建议和教程,我也遇到了同样的问题。

奇怪的是,我创建了一个具有相同配置的示例项目并且它可以工作!即使我更改了 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"));
    }
}
4

1 回答 1

0

您是否使用相同的密钥库运行两个应用程序?api 密钥应与 sha1 指纹和包名称一起创建,因此您可能会错过一些逻辑。

于 2013-08-15T17:42:57.707 回答