Mapview无法在Android设备上运行

时间:2012-04-12 13:46:39

标签: android android-maps android-mapview

我正在尝试使用Mapview找到两个城市之间的路径。

问题是Mapview无法正常工作,只在设备中获取灰色网格和块而不是地图,但在模拟器中工作正常。

这是我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MapDirection"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

       <uses-library android:name="com.google.android.maps" />

    <activity
        android:label="@string/app_name"
        android:name=".MapDirectionActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

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


</application>

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

</manifest> 

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<com.google.android.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="xxxxxxxxxxxxxxxxxxxxxx"
/>

 </LinearLayout>

2 个答案:

答案 0 :(得分:1)

  

获取灰色网格和块而不是仅在设备中映射,但在模拟器中工作正常。

或者:

  1. 您的布局中没有正确的apiKey,与用于签署应用的签名密钥相对应,或者

  2. 您的设备无法访问互联网或无法访问Google的地图图块服务器

  3. (第三种可能性是缺少INTERNET权限,但看起来你就是这样了)

答案 1 :(得分:0)

OK ...“debug”的API密钥仅适用于模拟器。如果您使用Eclise以“调试模式”将软件加载到手机,您将获得图块,而不是地图。如果您使用“发布”API密钥更新mapview,请使用Eclipse“EXPORT”创建apk文件,将其复制到手机上的SD卡,然后使用安装程序应用程序(从Google Play免费下载)进行安装在电话上IT工作!!!