MapView无法正常工作[android]

时间:2011-07-07 12:32:02

标签: android android-mapview

当我加载MapView应用程序时,MapView只显示灰色网格线。

这是我的代码:

main.xml中:

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

<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="0aOphT3vlZFVSL1HZ2Vg-RmIDhH0nPlp8e7gJrg"/>

清单文件:

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

    <application android:icon="@drawable/icon" android:label="@string/app_name">
    <uses-library android:name="com.google.android.maps"></uses-library>
        <activity android:name=".GMapsActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

</application>
    <uses-sdk android:minSdkVersion="1" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>

</manifest> 

活动:

package com.andoid.googlemaps;

import android.os.Bundle;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

public class GMapsActivity extends MapActivity {
    private MapView mapView;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

       /* Proxy Settings*/
        System.setProperty("http.proxySet", "true");
        System.setProperty("http.proxyHost", "proxy.example.com");
        System.setProperty("http.proxyPort", "8080");

        setContentView(R.layout.main);
        mapView=(MapView)findViewById(R.id.map_view);
        mapView.setBuiltInZoomControls(true);

    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
}

提前感谢您的帮助......

3 个答案:

答案 0 :(得分:0)

在显示谷歌地图时查看以下链接。这可能会对你有所帮助

Tutorial on How to use Google map

答案 1 :(得分:0)

用于地图的API密钥取决于用于签署您的应用程序的证书。 您必须按照以下说明获取有效的API密钥。

  

Android Maps API可让您在自己的Android应用中嵌入Google地图。单个Maps API密钥对由单个证书签名的所有应用程序有效。有关应用程序签名的详细信息,请参阅此文档页面要获取证书的Maps API密钥,您需要提供证书的指纹。这可以使用Keytool获得。例如,在Linux或Mac OSX上,您将检查调试密钥库,如下所示:

请参阅Sign Up for the Android Maps API

这通常意味着您需要一个用于调试版本的密钥和另一个用于发布版本的密钥(例如,用于Android市场的已签名应用程序包)。

答案 2 :(得分:0)

经过很长一段时间的努力。但实际上问题仍未解决,我没有改变,只是我和我的朋友共享了debug.keystore并且工作正常。谢谢你的回复...