当前位置: 首页 > 知识库问答 >
问题:

如何从火力库数据库中检索经纬度值并在地图上显示标记?

戚奇略
2023-03-14

我制作了一个自定义应用程序,当我移动时,我的当前位置会不断显示和移动。现在,我想知道如何从firebase数据库检索驱动程序的纬度和经度值,并在谷歌地图(Android Studio)上显示标记?我在上面附上了我的数据库结构的图像。这里,驾驶员位置通过纬度和经度保存,包括时间戳。我还添加了代码部分。

私有空findDriver位置(){数据库参考参考=FirebaseDatabase.getInstance(). get参考("DrvUserLocat");查询检查用户=reference.orderByChild("drvMobN");

    checkUser.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            String latitude = dataSnapshot.child("Latitude").getValue(String.class);
            String longitude = dataSnapshot.child("Longitude").getValue(String.class);
            //LatLng d = new LatLng(latitude,longitude);
            //mMap.addMarker(new MarkerOptions().position(d).title("Driver"));
            Toast.makeText(getApplicationContext(), "Latitude: " + latitude + "\nLongitude: " + longitude, Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {
            Toast.makeText(StdMapsActivity.this, "Fail to get data.", Toast.LENGTH_SHORT).show();
        }
    });
}

共有1个答案

明星剑
2023-03-14

园丁在他们的评论中有它的要点;问题出在这段代码中:

String latitude = dataSnapshot.child("Latitude").getValue(String.class);
String longitude = dataSnapshot.child("Longitude").getValue(String.class);

由于您使用的是 .getValue(字符串.class),因此您需要数据库为您提供属性的字符串值。由于数据库中没有这些属性的字符串值,因此它将为这些属性返回 null

获取这些值的正确方法是在变量和调用中使用正确的数据类型:

double latitude = dataSnapshot.child("Latitude").getValue(Double.class);
double longitude = dataSnapshot.child("Longitude").getValue(Double.class);
 类似资料:
  • 问题内容: 我使用phpmyadmin创建了一个带有表的MySQL数据库。我使用BLOB列创建了该表以容纳jpeg文件。 我对这里的php变量有疑问。 到目前为止,我的代码:(catalog.php): 如何从PHP获取变量$ result到HTML,以便可以在标记中显示它? 问题答案: 你不能 您需要创建另一个PHP脚本以返回图像数据,例如getImage.php。将catalog.php更改为

  • 我有这样一段代码,它从数据库中获取详细信息,并将其放入php数组中,然后将该数组传递给javascript以生成Google地图: 我的问题是为什么地图上没有标记?没有返回错误,但也没有标记。我必须在php循环中移动javascript代码吗?如果我通知locations.length,我得到1作为locations.length。为什么js将位置数组计算为1个位置?提前谢谢!

  • 我定义了一个服务(即LocationService),它为我提供用户当前的纬度和经度,作为my_activity的意向性附加。现在,我想用它们在地图上显示当前的位置(使用谷歌地图)。我在mmap.AnimateCamera和mmap.MoveCamera方法中传递了这些latlng,但它们没有显示任何标记或放大到当前位置。如果我做错了什么,请告诉我。 LocationService和my Main

  • 被一个问题缠住了。我是android开发的新手。我的问题是我有一个SQLite数据库,我正在其中保存映像和一些数据,但当我检索这些数据时,映像没有显示在ListView中。其他数据正在被推翻。 这是我的自定义列表布局 null 这是我的自定义适配器 } 这是activity 这是数据列表

  • 问题内容: 如何在JSP页面中从数据库检索和显示图像? 问题答案: 让我们逐步查看会发生什么: JSP基本上是一种视图技术,应该可以生成HTML输出。 要以HTML显示图像,你需要HTML 元素。 要使其定位图像,你需要指定其属性。 该属性需要指向有效的URL,而不是本地磁盘文件系统路径,因为当服务器和客户端在物理上不同的计算机上运行时,该路径将永远无法工作。 图片网址需要在请求路径(例如)中或作

  • 我是android的新手,在从服务器上的mysql数据库检索图像url时遇到了问题,我可以使用Hashmap检索字符串,但无法从数据库中检索图像url 我已经使用适配器类链接listview、imageview、textview等 任何人可以检查下面的代码,这样我可以检索图像路径,并链接到imageView和显示图像从数据库插入路径。 mainactivity.java sample.php ac