gpt4 book ai didi

android - GoogleMap 在缩放时更改相机位置

转载 作者:行者123 更新时间:2023-11-29 01:10:10 28 4
gpt4 key购买 nike

在我的应用程序中,我使用 GoogleMap (play-services-maps:10.2.1)。我已将 map 的位置固定在特定位置,但我不希望我的用户能够移动 map 。我只希望他能够放大它。

这是我尝试过的:

// Set position
LatLng requestedPosition = new LatLng(lat, lon);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(requestedPosition, zoom));
// Disable all Ui interaction except for zoom
map.getUiSettings().setAllGesturesEnabled(false);
map.getUiSettings().setZoomGesturesEnabled(true);

乍一看它似乎可以工作,但实际上在缩放和缩小时,相机位置在每次缩放移动时都会发生一点变化。

我不知道该怎么办。

谢谢你的帮助

最佳答案

如果我没理解错的话,您想在缩放手势后保留一个中心位置。手势缩放不会保持同一个中心,手势缩放结束后,您应该纠正相机的位置。您可以在缩放后监听空闲事件并将相机设置为初始中心位置。

代码 fragment

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
GoogleMap.OnCameraIdleListener {

private GoogleMap map;
private LatLng requestedPosition;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}

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

// Add a marker in Sydney and move the camera
requestedPosition = new LatLng(41.385692,2.163953);
float zoom = 16.0f;
map.addMarker(new MarkerOptions().position(requestedPosition).title("Marker in Barcelona"));

map.moveCamera(CameraUpdateFactory.newLatLngZoom(requestedPosition, zoom));

//map.moveCamera(CameraUpdateFactory.newLatLngZoom(requestedPosition, zoom));
// Disable all Ui interaction except for zoom
map.getUiSettings().setAllGesturesEnabled(false);
map.getUiSettings().setZoomGesturesEnabled(true);
map.setOnCameraIdleListener(this);
}

@Override
public void onCameraIdle() {
float zoom = map.getCameraPosition().zoom;
map.animateCamera(CameraUpdateFactory.newLatLngZoom(requestedPosition, zoom));
}
}

我把这个示例放在了 Github https://github.com/xomena-so/so43733628

希望这对您有所帮助!

关于android - GoogleMap 在缩放时更改相机位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43733628/

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