我只是关注一个简单的地图教程http://developer.android.com/resources/tutorials/views/hello-mapview.html,但收到此错误。我是android的新手我试图遵循通过互联网提供的所有解决方案,但还没有成功。请帮我。我的主要.xml位于
之下<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="***"
/>
和manifestfile就是这个
答案 0 :(得分:51)
我遇到了这个问题并通过以下两个步骤解决了这个问题:
1)将以下行放在AndroidManifest.xml文件的应用程序(重要)元素中。
<uses-library android:name="com.google.android.maps" />
2)扩展MapActivity而不是Activity。
享受!
答案 1 :(得分:12)
您是否将主类扩展为MapActivity?
public class a extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
答案 2 :(得分:5)
我有同样的问题,大约3个小时的搜索,这是我做的修复它, 一切都在清单中。
1)在我的清单中,此代码不在正确的位置
<uses-library android:name="com.google.android.maps" />
应该在
下面 <application>
像这样
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.package.name">
...
<application android:name="MyApplication" >
<uses-library android:name="com.google.android.maps" />
...
</application>
...
</manifest>
2)我在清单中的某个地方丢失了一段时间
<activity
android:name="MyClass" //*****should be android:name=".MyClass"***
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MyClass />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
3)我没有指定在
下的min sdk版本 <manifest>
代码:
<uses-sdk android:minSdkVersion="7" />
4)要让地图在调试模式下通过eclipse工作,请按照cmd或终端http://www.buzztouch.com/resources/Obtaining_a_Google_Maps_API_Key_v1.0.pdf中的这些说明进行操作
我希望这有助于某人
答案 3 :(得分:3)
我遇到了问题。只需扩展MapActivity而不是Activity。
答案 4 :(得分:1)
运行该应用程序的模拟器没有谷歌地图jar。所以从 Google API 创建模拟器在那里运行您的应用程序。
查看图片以使用Google API创建模拟器
答案 5 :(得分:1)
将其插入MapView的xml声明
xmlns:android="http://schemas.android.com/apk/res/android"
答案 6 :(得分:1)
除了使用标记
外,还可以使用谷歌地图<uses-library android:name="com.google.android.maps" />
标签中的,使用另一个标签
<uses-permission android:name="android.permission.INTERNET"/>
在标签内部,你就完成了。
但请记住,您应该在与Google Inc. API兼容的AVD中运行此应用程序,但不能在Android API中运行。
另一个重要的事情是,确保您使用的是MD5 API密钥而不是SHA1或任何其他协议API密钥。
答案 7 :(得分:1)
我知道以下不是原始提问者的错误 - 但由于我的问题导致了相同的错误消息,我想我也可以添加它以防将来有人遇到它。
我检查了所有其他好的提示,但我的项目中没有一个丢失。
最终解决了我的问题是,我忘了在布局中声明MapView,包括完整的包名。 Eclipse和Lint都没有告诉我这件事:
<com.google.android.maps.MapView
...
/>
答案 8 :(得分:0)
即使遵循上面提到的所有步骤但是没有为MapView指定api-key,也会得到此异常。只需添加api-key which you got from google
即可<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey = "api-key_goes_here"
>