MapView 显示在灰色瓷砖地图中未显示在 android google api 2.3.3 中

2024-01-22

您好,我正在开发一个地图视图,我尝试遵循以下方式 我通过单击按钮创建了一个“意图”]。添加权限和库 。我创建了一个覆盖项目。 .我的模拟器的目标是GoogleApi 2.3.3 .我的MapView密钥已获取并分配到mapview.xml中

我看到底部带有谷歌徽标的地图和地图视图控制器:这是我的代码

地图视图.xml

<?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" >
    <view android:id="@+id/mv"
    class="com.google.android.maps.MapView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1" 
    android:clickable="true"
    android:apiKey="046S_m5BQ43JIRtKiXQfldWwo2ddlU6dL6ca9SQ"
    />
    </LinearLayout>

MapViewActivity.java

    public class MapviewActivity extends MapActivity
   { private static double lat = 35.952967;   // Temporary test values for lat/long
    private static double lon = -83.929158 ;
    private int latE6;
   private int lonE6;
  private MapController mapControl;
private GeoPoint gp;
private MapView mapView; 
private LocationManager locationManager;
private MyOverlays itemizedoverlay;
private MyLocationOverlay myLocationOverlay;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        //requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.mapview);

        mapView = (MapView) findViewById(R.id.mv);
        mapView.setBuiltInZoomControls(true);
        mapView.setSatellite(true);
        mapControl = mapView.getController();
        mapControl.setZoom(12); // Zoon 1 is world view
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
                0, new GeoUpdateHandler());

        myLocationOverlay = new MyLocationOverlay(this, mapView);
        mapView.getOverlays().add(myLocationOverlay);

        myLocationOverlay.runOnFirstFix(new Runnable() {
            public void run() {
                mapView.getController().animateTo(
                        myLocationOverlay.getMyLocation());
            }
        });

        Drawable drawable = this.getResources().getDrawable(R.drawable.point);
        itemizedoverlay = new MyOverlays(this, drawable);
        createMarker();
    }



    public class GeoUpdateHandler implements LocationListener {

        @Override
        public void onLocationChanged(Location location) {
            int lat = (int) (location.getLatitude() * 1E6);
            int lng = (int) (location.getLongitude() * 1E6);
            GeoPoint point = new GeoPoint(lat, lng);
            createMarker();
            mapControl.animateTo(point); // mapController.setCenter(point);

        }

        @Override
        public void onProviderDisabled(String provider) {
        }

        @Override
        public void onProviderEnabled(String provider) {
        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
        }
    }

    private void createMarker() {
        GeoPoint p = mapView.getMapCenter();
        OverlayItem overlayitem = new OverlayItem(p, "", "");
        itemizedoverlay.addOverlay(overlayitem);
        if (itemizedoverlay.size() > 0) {
            mapView.getOverlays().add(itemizedoverlay);
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        myLocationOverlay.enableMyLocation();
        myLocationOverlay.enableCompass();
    }

    @Override
    protected void onPause() {
        super.onResume();
        myLocationOverlay.disableMyLocation();
        myLocationOverlay.disableCompass();
    }




    // to set the satellite and traffic view
    public boolean onKeyDown(int keyCode, KeyEvent e){
    if(keyCode == KeyEvent.KEYCODE_S){
        mapView.setSatellite(mapView.isSatellite());
        return true;
    } else if(keyCode == KeyEvent.KEYCODE_T){
        mapView.setTraffic(mapView.isTraffic());
        mapControl.animateTo(gp);  // To ensure change displays immediately
    }
    return(super.onKeyDown(keyCode, e));
}     
// Required method since class extends MapActivity
protected boolean isRouteDisplayed() {
    return true;  // display a route
}

这是我的 MyOverlays.java

 public class MyOverlays extends ItemizedOverlay<OverlayItem> {

        private static int maxNum = 5;
        private OverlayItem overlays[] = new OverlayItem[maxNum];
        private int index = 0;
        private boolean full = false;
        private Context context;
        private OverlayItem previousoverlay;

        public MyOverlays(Context context, Drawable defaultMarker) {
            super(boundCenterBottom(defaultMarker));
            this.context = context;
        }

        @Override
        protected OverlayItem createItem(int i) {
            return overlays[i];
        }

        @Override
        public int size() {
            if (full) {
                return overlays.length;
            } else {
                return index;
            }

        }

        public void addOverlay(OverlayItem overlay) {
            if (previousoverlay != null) {
                if (index < maxNum) {
                    overlays[index] = previousoverlay;
                } else {
                    index = 0;
                    full = true;
                    overlays[index] = previousoverlay;
                }
                index++;
                populate();
            }
            this.previousoverlay = overlay;
        }

        protected boolean onTap(int index) {
            OverlayItem overlayItem = overlays[index];
            Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("This will end the activity");
            builder.setCancelable(true);
            builder.setPositiveButton("I agree", new OkOnClickListener());
            builder.setNegativeButton("No, no", new CancelOnClickListener());
            AlertDialog dialog = builder.create();
            dialog.show();
            return true;
        };

        private final class CancelOnClickListener implements
                DialogInterface.OnClickListener {
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "You clicked yes", Toast.LENGTH_LONG)
                        .show();
            }
        }

        private final class OkOnClickListener implements
                DialogInterface.OnClickListener {
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(context, "You clicked no", Toast.LENGTH_LONG).show();
            }
        }
    }

我的 Android.manifest

<uses-sdk android:minSdkVersion="10" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>

     <application
        android:icon="@drawable/drive_eat_icon"
        android:label="@string/app_name" android:allowClearUserData="true"        android:debuggable="true">
        <activity
            android:name=".MainScreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".DriveatmapActivity"></activity>
        <activity android:name=".MapviewActivity"></activity>
        <activity android:name=".FoodjointListActivity"></activity>
        <activity android:name=".SubmitFormActivity"></activity>    
        <activity android:name=".MyOverlays"/>
            <uses-library android:required="true" android:name="com.google.android.maps"></uses-library>
</application>

请建议该怎么做。如果您需要任何代码,请告诉我。 我看到谷歌地图只有灰色瓷砖。


//而不是你的观点

//用这个

<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:enabled="true"
      android:apiKey="046S_m5BQ43JIRtKiXQfldWwo2ddlU6dL6ca9SQ" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MapView 显示在灰色瓷砖地图中未显示在 android google api 2.3.3 中 的相关文章

随机推荐

  • 在数据表中启用滚动 X 时禁用底部搜索

    我正在尝试数据表中的数据显示https datatables net https datatables net i can show data from MYSQL to Datatables but i want column in da
  • Spring Boot 1.4、Spock 和 application.properties

    我正在尝试使用 Spock 为我的 Spring Boot 1 4 0 编写一些测试 但我的 application test properties 文件没有被拾取 我的 gradle 中有这个 dependencies compile o
  • 验证类 - 应该返回 false 还是抛出异常?

    我正在创建一个验证字符串的类 字符串无法通过的原因有很多 抛出异常或返回错误 错误代码更有意义吗 优点缺点 验证器不应抛出异常 因为验证器失败并不是 异常 事件 如果代码的其余部分收到错误数据 则应抛出异常 当您运行验证器函数时 您显然已准
  • 无法加载资源,插件在 iOS 上处理加载

    每次我尝试在服务器上查看视频文件时 我都会在 iOS 的 Safari Chrome 上收到此错误 我使用的是 blob 服务器 然后是 Apache 服务器 所以我不确定问题是什么 但是 当我只使用 Apache 时 我确实收到此错误 但
  • 在 iOS 中使用 pinterest 登录

    里面有关于pin的解释面向开发者的 Pinterest https developers pinterest com ios 但我仍然有以下两个问题 如何登录 用户登录后如何从服务器获取登录用户的响应 我已经浏览了谷歌和堆栈溢出上提供的所有
  • 将未知的十六进制数字转换为经度和纬度

    F3 c8 42 14 latitude 05 13637 should be nearby this coordinate 5d a4 40 b2 longitude 100 47629 should be nearby this coo
  • 在 Java 中从 Pentaho .prpt 报告文件生成 PDF - 依赖关系混淆

    谁能帮助我开始在 Maven 环境中使用 java 从 Pentaho prpt 文件生成 PDF 我有 Pentaho Reporting 3 5 for Java Developers 一书 我正在尝试其中的一个示例 本质上是 Reso
  • 在 R 中拟合平滑样条线(GAM 函数):拟合样条线所需的结数出现错误 - 结点要求增加

    我正在尝试将平滑样条拟合到看起来有两个峰值的数据 首先 我将平滑样条拟合到数据中 以识别结的潜在位置 library npreg library splines library mgcv x lt c 20 70 20 44 20 58 2
  • 将对象序列化为 XElement 并在内存中反序列化

    我想将对象序列化为 XML 但不想将其保存在磁盘上 我想将它保存在 XElement 变量中 用于与 LINQ 一起使用 然后反序列化回我的对象 我怎样才能做到这一点 您可以使用这两个扩展方法在 XElement 和对象之间进行序列化和反序
  • 如何检测与 puppeteer 一起使用的 chrome 版本?

    我读到 puppeteer 使用最新版本的 chrome 我在哪里可以找到它正在使用的版本 我不想访问窗口上的导航器对象来获取它 基本上没有什么运行时 只是想知道 puppeteer 作为一个包是否在某处列出了它的依赖项 基本上 我想从其他
  • 通过javascript动态添加css到页面

    我正在制作一个将添加到外部网站的小部件 并且我制作了一个页面 可以生成 css 供他们设置样式 文本颜色 背景颜色 字体大小等 我最终得到了一个充满 CSS 的文本区域 供他们复制 粘贴到他们的网站 有没有办法将此 css 添加到当前页面以
  • 一起使用 makeLenses、类约束和类型同义词

    我对 Haskell 很陌生并且想使用makeLenses from Control Lens类约束与类型同义词一起使我的函数类型更加紧凑 可读 我试图提出一个最小的虚拟示例来演示我想要实现的目标 并且该示例除此之外没有其他目的 如果您对上
  • Google 日历 (API) 问题

    我想用谷歌日历 http en wikipedia org wiki Google Calendar为了添加派对活动 所以我添加了一个新的日历 活动 有没有删除该日历中所有事件的功能 或者只能通过删除整个日历并重新创建它来实现 我有每天更新
  • 如何使用Weka预测结果

    我是 Weka 新手 对该工具感到困惑 我有一个关于水果价格和相关属性的数据集 我正在尝试使用数据集预测具体的水果价格 由于我是 Weka 新手 我不知道如何完成这项任务 请帮助我或指导我了解有关如何进行预测以及此任务的最佳方法或算法是什么
  • rCharts-如何向 NVD3 图表添加轴标签和标题

    我正在探索 reCharts 我在向 Y 轴和标题添加标签时陷入困境 我是 rCharts 新手 这是我的示例代码 require rCharts n2 lt nPlot Hours Month group Task data cars t
  • jquery 的 $.ajax 中从 url 参数中删除附加 url 的方法

    我正在使用 cakephp 并想使用jQuery ajax发布到我的服务器 问题是 jQuery 的 ajax附加协议和主机名 但还包括当前控制器 因此我无法更改我粘贴的控制器 有没有办法改变 url 参数 ajax 这是我的示例邮政编码
  • 这个程序如何运作?

    include
  • Silverlight 3 和 Silverlight 4 条件 xaml

    我现在正在开发一个必须分离项目文件的项目 一个符合 Silverlight 3 另一个符合 Silverlight 4 该项目创建了一个在其他几个项目中使用的用户控件 不幸的是 其中一个处于 SL3 状态 现在无法升级 这就是为什么需要 S
  • 将目录迁移到不同的 svn 存储库

    我在 svn 存储库中有代码 将其称为存储库 A 现在假设我需要将内容移动到存储库 B 但存储库 B 已经对其他项目处于活动状态一段时间了 是否可以将特定目录从存储库 A 移动到存储库 B 同时保留文件历史记录 通常 要将整个存储库迁移到新
  • MapView 显示在灰色瓷砖地图中未显示在 android google api 2.3.3 中

    您好 我正在开发一个地图视图 我尝试遵循以下方式 我通过单击按钮创建了一个 意图 添加权限和库 我创建了一个覆盖项目 我的模拟器的目标是GoogleApi 2 3 3 我的MapView密钥已获取并分配到mapview xml中 我看到底部