2010-02-06 28 views
0

我正在使用IntelliJ IDEA 9(9.0.1)创建一个简单的地图应用程序(或至少尝试)。 我在Google API 2.0中使用Android 2.0。Android 2.0 SDK地图不显示

清单:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".MyActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
     <activity android:name=".disaster"/> 
     <activity android:name=".map" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"/> 
     <uses-library android:name="com.google.android.maps" /> 
    </application> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
</manifest> 

类:

​​

查看:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/wall" 
    > 
     <View android:id="@+id/mv" 
     class="com.google.android.maps.MapView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:enabled="true" 
     android:apiKey="08zxVQUd22SOeAuv8AEMS5hBAeOdll4OzDrNYpQ"/> 

     <Button android:id="@+id/backBtn" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:text="@string/backBtn"/> 

</LinearLayout> 

这只是给了我一个空白屏幕。

我在做什么错了?

编辑:澄清我的OP。

回答

0

确保您有权限去到互联网,并访问您的AndroidManifest.xml地点:

<uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

编辑:

好吧,似乎情况是敏感的,从这样改变:

<View android:id="@+id/mv" 

<view android:id="@+id/mv" 

应显示您的地图。

+0

你好,谢谢你的思考。 我已经设置了android.permission.INTERNET,现在即使只显示地图也不行,更不用说使用手机的GPS位置了。所以我第一次试图让前者工作。 – user211992 2010-02-06 18:16:52

+0

你可以更新你的OP与您的活动,也许你的地图xml的完整布局? 你也需要在你的mapview中设置一个id(你给的com.google.android.maps.MapView例子没有,你需要从你的活动中引用它) – ccheneson 2010-02-06 18:39:34

+0

我已经更新了我的开始帖子,希望现在更清楚。 地图是我从应用程序菜单调用的视图。(以及我打电话给开始视图的地图类) – user211992 2010-02-06 20:08:42

1

您必须包含Maps API调试密钥才能显示地图内容。 http://code.google.com/android/add-ons/google-apis/maps-overview.html

+0

我正在使用我发布的第二个代码,并填写了一个密钥。 我刚刚用myKey替换它以保证安全。 我可能应该提到这一点。 – user211992 2010-02-06 11:35:55

+0

我自己并没有签署应用程序,但根据http://developer.android.com/intl/zh-TW/guide/developing/other-ide.html#DebugMode应该自动发生。 有没有办法检查这是否真的发生了? – user211992 2010-02-06 11:55:22

+0

'jarsigner -verify -verbose my_application.apk'会告诉你,如果你的应用程序已签署 – emmby 2010-04-20 22:43:49

0

好吧,如果IDEAJ比它取决于该Android插件调试密钥签名是否发生automatically..check插件文档与您的构建文件一起,你可能需要添加一个调试键登录目标

0

时可能你导出你的apk文件,确保你用相同的api键导出它,否则你将只有地图的网格线。 debug.keystore的密码是android,然后选择别名,然后导出。这是您需要将其导出为实际的手机时!