gpt4 book ai didi

android - maps api2 animateCamera速度问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:17 24 4
gpt4 key购买 nike

我正在尝试学习 android,并使用新的 googlemaps v2 api 玩一个应用程序。

我有几个菜单项,一个缩放到当前位置,一个最终会缩放到另一个位置。第一个(下面代码中的 show_horizo​​n)使 map 能够旋转,第二个将 map 设置为静态,北方位于屏幕顶部。

我已将它们都设置为有 6 秒长的延迟,但 show_horizo​​n() 似乎忽略了速度设置,而 show_iss() 尊重它。

此外,一旦进入旋转模式,如果我在 map 上滚动,触发 show_horizo​​n() 它现在将遵循速度设置。

所以它似乎只在我从非旋转切换到旋转时忽略代码,但当我从另一个方向切换时它会尊重它。我曾尝试在切换时停止监听器以防它中断相机动画,但没有任何区别?

欢迎任何线索或想法。

谢谢

这是代码。

我有一个传感器监听器,可以像这样获取手机的方位:

private SensorEventListener get_bearing = new SensorEventListener() {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
public void onSensorChanged(SensorEvent event) {
float azimuth = event.values[0];
set_bearing(azimuth);
}
};

private void set_bearing(float azimuth) {
if (!rotate_view) {
bearing = 0;
} else {
if (bearing != Math.round(azimuth)) {
bearing = Math.round(azimuth);
update_map();
}
}
}

以及将 map 更改为旋转或不旋转的几种方法:

private void show_horizon() {
current_pos = new LatLng(gps.getLatitude(), gps.getLongitude());
rotate_view = true;
tilt = 30;
zoom_level = 14;
stop_listener();
update_map(6000);
start_listener();
}

private void show_iss() {
rotate_view = false;
bearing = 0;
tilt = 0;
update_map(6000);
}

和我更新相机位置的代码:

private void update_map() {update_map(100);}   
private void update_map(int speed) {
if (current_pos != null) {
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(current_pos)
.zoom(zoom_level)
.bearing(bearing)
.tilt(tilt)
.build();
gmap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition), speed, null);
}
}

最佳答案

经过反复试验,这对我有用:

 public void openMarker(Marker marker) {

marker.showInfoWindow();
CameraUpdate center = CameraUpdateFactory.newLatLng(marker.getPosition());
mMap.animateCamera(center, 400, null);
}

mMap 当然是我的 Google map 对象。

mMap = ((SupportMapFragment)(getFragmentManager().findFragmentById(R.id.googleMap))).ge‌​tMap();

关于android - maps api2 animateCamera速度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14014355/

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