Android Map V2 map 在一个 Activity 中加载但在其他两个 Activity 中不加载

标签 android eclipse google-maps

我是 android map api v2 的新手。我正在尝试在 3 个不同的 Activity 中(根据某些用户操作)一个一个地加载 map 。 map 在 1 个 Activity 中加载正常,但仅显示带有缩放按钮的灰色框。

以下是 XML 布局 (map_view.xml),我使用 include 标签将其包含在三种不同的布局中。

<?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" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="10dp" >

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

    <ImageView
        android:id="@+id/transparent_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@android:color/transparent" />

    <Button
        android:id="@+id/btnRefresh"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        android:background="@drawable/btn_green_small"
        android:text="Direction"
        android:textColor="@color/white" />
</RelativeLayout>

以下是在一个 Activity 中正确加载 map 的代码。但在其他 2 个中没有。

package com.nthreads.out2b.activity.places;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.nthreads.out2b.Out2B;
import com.nthreads.out2b.R;

public class LocationDetailActivity extends Out2B {
static final LatLng HAMBURG = new LatLng(53.558, 9.927);
static final LatLng KIEL = new LatLng(53.551, 9.993);
private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_location_detail);

    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapLocationDetail))
            .getMap();
    Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
            .title("Hamburg"));
    Marker kiel = map.addMarker(new MarkerOptions()
            .position(KIEL)
            .title("Kiel")
            .snippet("Kiel is cool")
            .icon(BitmapDescriptorFactory
                    .fromResource(R.drawable.map_resturant_marker)));

    // Move the camera instantly to hamburg with a zoom of 15.
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));

    // Zoom in, animating the camera.
    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
    map.getUiSettings().setZoomControlsEnabled(false);
}

正确加载 map : enter image description here

加载不正确: enter image description here

最佳答案

我找到了这个问题的一些替代方法。您的代码看起来不错,代码或包含标记没有问题。主要问题是选项卡,我猜你的 map 在 Activity 中加载它而不是在选项卡中工作时工作正常。所以我的建议是使用 View 寻呼机或制作您自己的控件以显示为选项卡。 map 将以这种方式工作。

关于Android Map V2 map 在一个 Activity 中加载但在其他两个 Activity 中不加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18299140/

相关文章:

eclipse - Egit 拒绝接受 id_rsa

java - 如何清理和组织 Eclipse Package Explorer?

python - 在 Bokeh 谷歌离线 map 上重绘

javascript - jQuery GMap 隐藏标签

mysql - 有没有办法对 MySQL 数据库进行地理编码,然后在 Google map 上显示结果?

android - 如果 targetSdkVersion >= 26,WifiManager.WifiInfo getSSID 和 getBSSID 不工作

android - logcat 没有显示我的程序 android 的任何日志记录

java - 如何为多种屏幕尺寸设置图像 - android

android - getHeight() 未返回正确的值 - 使用 ViewTreeObserver- 在第一次运行时

java - 使用项目自带的.java文件作为资源文件