Рейтинг:0

Программно устанавливаемая широта и долгота, открытые для ввода

флаг in

Я уже некоторое время использую геолокацию 8.x-1.12. У меня есть маршрут REST, который получает представление с моей открытой формой и возвращает результаты.

Раньше я делал:

$plugin = \Drupal::service('plugin.manager.geolocation.geocoder');
$geocoder = $plugin->getGeocoder('google_geocoding_api');
$geocode = $geocoder->geocode($zip_code);

$view = Views::getView('local_pharmacies');
$view->setDisplay('block_1');
$ выставлено = [
  'field_geolocation_proximity-lat' => $geocode['location']['lat'], // Больше не существует в 3.x
  'field_geolocation_proximity-lng' => $geocode['location']['lng'], // Больше не существует в 3.x
  'field_geolocation_proximity' => "50",
];
$view->setExposedInput($exposed);
$view->preExecute();
$просмотреть->выполнить();

Я обновился до 8.x-3.7, потому что скоро планирую перейти на D9. Выше уже не работает. Я думаю, потому что field_geolocation_proximity-lat и field_geolocation_proximity-lng больше не существуют. Я попытался погрузиться в источник, а также изменить форму, чтобы выяснить, как правильно установить координаты, но я не могу понять это. Любые идеи?

Рейтинг:2
флаг in

Наконец-то я понял, как это должно быть отформатировано. Подкрашивание после выполнения представления, а не до раскрытия имен полей.

$ выставлено = [
  'центр' => [
    'координаты' => [
      'широта' => $geocode['местоположение']['широта'],
      'lng' => $geocode['location']['lng'],
    ],
  ],
  'field_geolocation_proximity' => "50",
];

Ответить или комментировать

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