使用 Google 地图 JavaScript API 创建具有多个边界的食物 places/restaurant 自动完成字段

Creating a food places/restaurant Autocomplete field with multiple bounds using Google Maps JavaScript API

我正在尝试创建一个食物 places/restaurants 自动完成字段来执行以下操作:

  1. 优先显示办公室 1 和办公室 2 (Latitude/Longitude) 附近的食物 places/restaurants。 (似乎当您将多个 LatLng 组合作为边界传递时,它不会这样做。想确认这是不可能的。)
  2. 仅显示与食物相关的地点。 (我相信使用自动完成这是不可能的,因为它仅限于传递某些地方类型)

这是我最接近我想要达到的目标。但是,只有当我为 Office 1 或 Office 2 传递单个 LatLng 而不是同时传递两者时,它才能正常工作。

<script type="text/javascript">
var defaultBounds = new google.maps.LatLngBounds(
  new google.maps.LatLng(-33.8902, 151.1759),
  new google.maps.LatLng(-60.8474, 200.2631));

var input = document.getElementById('searchTextField');
var options = {
  bounds: defaultBounds,
  types: ['establishment']
};

autocomplete = new google.maps.places.Autocomplete(input, options);
</script>

LatLngBounds 将西南坐标作为第一个参数,将东北坐标作为第二个参数。在您的示例中,您的第二个坐标比第一个坐标更靠南,因此边界无效:

无论点的相对位置如何,此替代方案都应该有效:

var defaultBounds = new google.maps.LatLngBounds(new google.maps.LatLng(-33.8902, 151.1759));
defaultBounds.extend(new google.maps.LatLng(-60.8474, 200.2631));