【发布时间】:2021-06-28 12:59:11
【问题描述】:
在我的应用程序中,我有一个按钮,可以从数据库中提取经度和纬度,并将它们存储到两个变量中,这些变量存储在名为 bgworker 的类中,然后这些变量显示在屏幕上,如下所示: https://i.imgur.com/5ld231v.png
然后我将变量与代码一起发送到我的 Google 地图片段:
public static void UpdateMap() {
double Longitute = parseDouble(bgWorker.ReturnLong());
double Latitude = parseDouble(bgWorker.ReturnLat());
LatLng Location = new LatLng(Latitude, Longitute);
googleMap.addMarker(new MarkerOptions().position(Location).title("The location"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(Location));
}
但是,地图片段本身永远不会更新,并且坐标始终设置为 0,0 每当更新变量时(单击按钮),我如何更新地图上的位置
我遇到的两个问题是,如果我将 Googlemap 设为全局,GoogleMap 为空,我会收到错误
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.model.Marker com.google.android.gms.maps.GoogleMap.addMarker(com.google.android.gms.maps.model.MarkerOptions)' on a null object reference
但是,如果我将 Googlemap 设为本地,则无法从父方法中的按钮传递它,或者至少我不知道如何传递。
我在网上看到的大多数教程都涉及使用用户当前位置更新地图,而不是静态变量。
请帮我更新一下我的地图位置!
【问题讨论】:
标签: android android-studio google-maps android-fragments