当前位置: 首页 > 知识库问答 >
问题:

谷歌地图在发布模式下不显示在android上

裴心思
2023-03-14

我正在尝试发布我的应用程序,但有一个问题与谷歌地图。应用程序包含一个显示地图的活动(MapActivity)。在调试模式下运行时,映射工作良好。我在发布模式下签署了我的应用程序,并得到了SHA1。我根据需要在Google控制台创建了一个新的android键(sha1;packageName)。获取API密钥

在我的应用程序中,我根据需要引用了一个google-play-services-lib的副本。我正在使用ADT。

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.SupportMapFragment" />
public class MapActivity extends FragmentActivity {

private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map);

    map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                        .getMap();
  }
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.rentalcar"
android:versionCode="1"
android:versionName="1.0" >



<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<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"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>

<permission
      android:name="com.example.rentalcar.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.rentalcar.permission.MAPS_RECEIVE"/>


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
     >

    <activity
        android:name="com.example.rentalcar.MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter> 
    </activity>      

    <activity
        android:name="com.example.rentalcar.MapActivity"
        android:label="@string/title_activity_map"
        android:screenOrientation="portrait" >
    </activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="My_Key"/>

</application>

</manifest>

共有1个答案

艾飞宇
2023-03-14

如果你已经尝试了@budius答案,仍然面临这个错误,可能是以下情况造成的:

添加MapFragment时,Android Studio会创建两个文件Google_Maps_API.xml:一个在src/debug/res/values文件夹中,另一个在src/release/res/values中。

但由于某种原因,在Android Studio上只显示了debug文件夹文件。因此,当您更改APIkey值时,只在调试文件夹文件中完成。

 类似资料:
  • 我一直在努力跟进https://github.com/airbnb/react-native-maps教程我尝试了他们说的一切,但在我的android studio模拟器上得到了一个空白屏幕。 我的代码: AndroidManifest。xml文件:

  • 我写这封信是希望你能帮助我。出于某种原因,当我单击按钮时,我的应用程序不会启动谷歌地图,而是会将我发送回上一个活动/页面。当我再次按下该按钮时,应用程序会崩溃。 JAVA类(crkvalokacijamape.java) crkva\u lokacijamape。xml AndroidManifest.xml map_api.xml

  • 我有一个KMZ,它也包含区域多边形和城市点(12个谷歌引脚),但它们不会出现在地图上,尽管如你所见已打开。如何可见它们?有人能帮我吗? 这是地图:http://goo.gl/maps/Nbrfq 安得烈

  • 在我的Android应用程序中,当单击地图上的标记时,我的地图屏幕会显示方向和谷歌地图。我在应用程序中使用以下内容。 XML: 在代码中: 我已经用蓝色标记了方向和谷歌地图图标。请查看我的地图屏幕的图像。 如何从地图片段中隐藏方向和谷歌地图图标?

  • 我在使用TIBCO Jaspesoft Studio时遇到了有关谷歌地图的问题。 我正在使用Jasper Studio提供的“地图”组件,并且我已经完成了用户手册中描述的所有必要配置: 要配置属性,请单击添加以打开属性对话框,输入属性的名称和属性的值,然后单击确定。您可以配置以下谷歌地图API属性。有关每个属性的更多信息,请参阅JasperReport®库配置参考:•net.sf.jasperre

  • 所以我看到了一个特殊的例外,我敢肯定的是谷歌地图的绘图代码。 我有一个片段,在那里我以编程方式添加了一个支持地图片段,然后我在其中操纵谷歌地图实例。 这是stacktrace: 我无法可靠地复制它(尽管这种情况经常发生),我已经查看了ReadWriteDirectByteBuffer和ShortToByteBufferAdapter,但没有任何东西突然出现在我面前。 有什么想法吗?