Как задать границы локального поиска

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

Как читать код

Как задать границы поиска для локального контекста

Задать границы локального поиска locationRestriction можно с помощью свойства LatLngBounds. В примере ниже интерфейс LatLngBoundsLiteral используется для создания объекта LatLngBounds.

TypeScript

const bigBounds = {
  north: 37.432,
  south: 37.412,
  west: -122.094,
  east: -122.074,
};
const localContextMapView = new google.maps.localContext.LocalContextMapView({
  element: document.getElementById("map"),
  placeTypePreferences: [{ type: "restaurant" }],
  maxPlaceCount: 12,
  locationRestriction: bigBounds,
  directionsOptions: { origin: center },
});

JavaScript

const bigBounds = {
  north: 37.432,
  south: 37.412,
  west: -122.094,
  east: -122.074,
};
const localContextMapView = new google.maps.localContext.LocalContextMapView({
  element: document.getElementById("map"),
  placeTypePreferences: [{ type: "restaurant" }],
  maxPlaceCount: 12,
  locationRestriction: bigBounds,
  directionsOptions: { origin: center },
});

Как связаны локальная область просмотра и свойство directionsOptions

Если выбранный объект на карте (POI) находится за областью просмотра, последняя перемещается так, чтобы этот объект оказался в видимых границах без какого-либо изменения кода.

Если вы не задали исходную точку в свойстве directionsOptions объекта LocalContextMapView, карта просто передвинется, чтобы показать этот объект.

Если же вы задали исходную точку в directionsOptions, то в окне отобразятся эта точка, выбранный объект и пеший маршрут между ними.

TypeScript

const localContextMapView = new google.maps.localContext.LocalContextMapView({
  element: document.getElementById("map"),
  placeTypePreferences: [{ type: "restaurant" }],
  maxPlaceCount: 12,
  locationRestriction: bigBounds,
  directionsOptions: { origin: center },
});

JavaScript

const localContextMapView = new google.maps.localContext.LocalContextMapView({
  element: document.getElementById("map"),
  placeTypePreferences: [{ type: "restaurant" }],
  maxPlaceCount: 12,
  locationRestriction: bigBounds,
  directionsOptions: { origin: center },
});

Примеры кода