我一直对这个应用了近一年,现在(高级项目),当它刚刚决定,打破了前几天。 我的应用程序已经使用Eclipse 3.7.2版本,针对64位的Froyo的Android 2.2开发的,用我的64位Windows 7 PC。 到目前为止,我曾尝试:
- 重新安排使用库标签清单文件
- 重写地图XML文件
- 删除R.java文件并刷新
- 放置的MapView元件的布局内
- 重新安装Eclipse和Android的SDK
- 清洁工程
- 创建style.xml文件,并引用它
- 部署在实际设备上
- 恢复到以前的代码
可能更多...
我的代码如下:gmap.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="0xMbgnc-el963gCdpl547hdkgXUILTskZr-T5uvg" // random key posted here
/>
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.PubMe"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-sdk android:minSdkVersion="8"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="com.google.android.maps" />
<activity android:name=".PubMeActivity"
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=".MappingActivity"
android:label="@string/app_name">
</activity>
</application>
</manifest>
我高度赞赏提前任何帮助。
您必须包括/path_to_android-sdk/extras/google/google_play_services/libproject/google-play-services_lib
库作为外部库到您的项目,也包括这个jar文件/path_to_android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
。
那些身边,你应该有这些权限:
<uses-permission android:name="android.permission.INTERNET" /> **<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"/>
<permission
android:name="com.example.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.app.permission.MAPS_RECEIVE"/>
尝试添加上述在你的清单文件。
我认为com.google.android.maps.MapView现已过时,现在我用com.google.android.gms.maps.MapView。 请检查http://developer.android.com/reference/com/google/android/gms/maps/MapView.html寻求帮助,如果你想使用MapFragment然后再通过http://www.androidhive.info/2013 / 08 / Android的工作与-谷歌-地图-V2 / URL。
我建议采取看看地图演示程序。 这来自捆绑与谷歌Play服务的lib,在SDK管理器只包括样品谷歌播放服务的复选框。 然后,您可以找到项目文件@ <android-sdk>/extras/google-play-services/samples/maps
在你的SDK目录。
这些权限,你应该有正常的地图V2
<permission
android:name="com.example.gmapsapp.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.gmapsapp.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
和API密钥与meta标签清单文件现在使用
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/apikey />
我在这里包括gmaps的xml文件例子
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />