Google Maps v2中屏幕下半部分和上半部分的地图为空白

时间:2014-01-20 06:10:56

标签: android google-maps

我在我的应用程序中使用Google Maps v2作为片段中的mapview。 但它在屏幕的顶部和底部显示空白屏幕,如附带的屏幕截图所示。

请帮我解决这个问题。

enter image description here

以下是布局

 <RelativeLayout
    android:id="@+id/resourceMapLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.google.android.gms.maps.MapView
        android:id="@+id/resourceScreenMapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

以下是用于它的代码:

    mMpVwInstance = (MapView) view.findViewById(R.id.resourceScreenMapView);
    mMpVwInstance.onCreate(mBundle);
    mGglMapinstance = mMpVwInstance.getMap();
    mGglMapinstance.setMyLocationEnabled(true);
    mGglMapinstance.setOnMarkerClickListener(this);

3 个答案:

答案 0 :(得分:3)

您的应用程序显示的是网格而不是地图,这清楚地表明您的MAP-API密钥不正确。我建议你重新生成你的MAP-API密钥。此外,当您使用这种API时,您需要确保不能直接从eclipse运行应用程序。您必须创建项目的.apk文件,然后安装它,然后只显示Google MAP。

答案 1 :(得分:2)

替换您的代码:

<RelativeLayout
android:id="@+id/resourceMapLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.google.android.gms.maps.MapView
    android:id="@+id/resourceScreenMapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

这一个:

<RelativeLayout
    android:id="@+id/resourceMapLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment 
        android:id="@+id/resourceScreenMapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"        
        class="com.google.android.gms.maps.SupportMapFragment" />
</RelativeLayout>

如果这不能解决问题,那么请您发布完整代码吗?

答案 2 :(得分:0)

您不想直接引用MapView。 Google Play服务附带了一个片段,可以自动为您处理各种生命周期事件。

用以下代码替换您的布局:

<RelativeLayout
    android:id="@+id/resourceMapLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment
        android:id="@+id/resourceScreenMapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout> 

比你的代码:

final GoogleMap map = ((SupportMapFragment) getSupportFragmentManager()
    .findFragmentById(R.id.map)).getMap();

// This gets the button
map.setMyLocationEnabled(true);
map.setOnMarkerClickListener(this);

关于API密钥的最后一件事。您可以使用您的调试密钥(在eclipse运行时使用的eclipse)进行测试,它位于C:\Users\USER_NAME\.android\debug.keystore的Windows下。您需要使用调试密钥库中的签名在线注册密钥,并将其添加到清单文件中。