заблокировать активность карты - PullRequest
0 голосов
/ 26 февраля 2019

В моем приложении я пытаюсь заранее сделать так, чтобы пользователь мог прокручивать «бесплатно» вокруг действия карты, я хочу, чтобы содержимое дисплея было заблокировано в некоторых конкретных координатах, но сложная часть состоит в том, чтобы объединить это с возможностьюгеолокация камеры (GPS) для отслеживания пользователя.

я могу, например, попытаться добавить камеру перемещения в onLocationChanged, и это заблокирует камеру в регионе, который я хочу, каждый раз, когда пользователь перемещается, но этоэто не то, что я хочу, я просто хочу сбросить камеру, если пользователь прокручивает зону, которую я не хочу, чтобы он видел, если вы просматриваете карту Вашингтона, я хочу сбросить камеру, если пользователь, например, заходит на baltimora.

 LatLng Washington = new LatLng(38.9150303, -77.1655794);
 public void onLocationChanged(Location location) {
            LatLng me = new LatLng(location.getLatitude(),location.getLongitude());
            //LOCK CAMERA
            mMap.moveCamera(CameraUpdateFactory.newLatLng(Washington));
            //Marker Position
            if (null != currentMarker) {
                currentMarker.remove();
            }
            currentMarker = mMap.addMarker(new MarkerOptions().position(me).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));

1 Ответ

0 голосов
/ 26 февраля 2019

Если вы хотите, чтобы пользователь мог перемещать карту, но ограничивать ее определенной областью, карта предлагает вам эту возможность.

Как уже упоминалось: Ограничение панорамирования пользователя в заданной области.

private GoogleMap mMap;
// Create a LatLngBounds that includes the city of Adelaide in Australia.
private LatLngBounds ADELAIDE = new LatLngBounds(
  new LatLng(-35.0, 138.58), new LatLng(-34.9, 138.61));
// Constrain the camera target to the Adelaide bounds.
mMap.setLatLngBoundsForCameraTarget(ADELAIDE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...