gpt4 book ai didi

java - Google map 和 MapFragment 以及 getMapAsync

转载 作者:行者123 更新时间:2023-11-29 04:19:07 24 4
gpt4 key购买 nike

最近怎么样?

我正在开发一款基于 Google map 和定位服务的安卓应用。我对 Google Maps 了解一点,这是我在这个项目中学到的,但是关于 GoogleMaps 有几件事我不知道...

在我的主要 Activity 中,我使用了 mapFragment。我有我的 onMapReady 方法....

@Override
public void onMapReady(GoogleMap map) {

double myCurrentLatitude = getGPS()[0];
double myCurrentLongitude = getGPS()[1];

CameraPosition myCurrentLocation = CameraPosition.builder()
.target(new LatLng(myCurrentLatitude, myCurrentLongitude))
.zoom(12)
.bearing(0)
.tilt(2)
.build();

map.moveCamera(CameraUpdateFactory.newCameraPosition(myCurrentLocation));
map.getUiSettings().setScrollGesturesEnabled(true);

}

这只是 Activity 中的一种方法,它工作正常,当 Activity 启动时,它会放大用户所在的位置。

现在,我希望能够将 map 缩放到特定位置。假设用户想去某个地方,我可以获得他们想去的地方的纬度和经度(双倍)....我无法获得此 Activity 来更改 map 的焦点并缩放到此新位置。

我已经尝试了几种方法,但我就是不知道如何操作 mapFragment。

我的小小研究向我展示了 getMapAsync,但这些方法似乎是在 Activity 刚刚启动时调用的。我想写一个方法(我称之为 placeLocation(lat, long)... 可以在 3 分钟后/任何我想要的时候调用它,它会接受我给它的纬度/经度,并在上面放大我的 mapFragment地点。

我在我的 placeLocation 方法中尝试了这一行

map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

但是 android studio 对这个 getMap() 方法非常不满——基本上甚至不认识它。基本上我不知道如何在 getMap、getMapAsync 之间操作我的 map ...你能帮忙吗?

请指点一下好吗?

感谢您的阅读,也感谢您的宝贵时间。

你谦虚的代码兄弟。

最佳答案

首先你需要创建一个类变量,比如:

私有(private) GoogleMap mMap;

现在,当您的 onMapReady() 方法触发时,您可以获取 GoogleMap 对象并将其设置为类变量。

@Override
public void onMapReady(GoogleMap map) {
mMap = map;

double myCurrentLatitude = getGPS()[0];
double myCurrentLongitude = getGPS()[1];

CameraPosition myCurrentLocation = CameraPosition.builder()
.target(new LatLng(myCurrentLatitude, myCurrentLongitude))
.zoom(12)
.bearing(0)
.tilt(2)
.build();

mMap.moveCamera(CameraUpdateFactory.newCameraPosition(myCurrentLocation));
mMap.getUiSettings().setScrollGesturesEnabled(true);
}

现在,当您需要更改 map 时,只需像这样使用类变量“mMap”:

private void mapMoveTo(double lat, double lng){
LatLng latLng = new LatLng(lat, lng);
if(mMap != null){
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomFactor));
}
}

关于java - Google map 和 MapFragment 以及 getMapAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50376313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com