使用 Google 地图 JavaScript API 创建具有多个边界的食物 places/restaurant 自动完成字段
Creating a food places/restaurant Autocomplete field with multiple bounds using Google Maps JavaScript API
我正在尝试创建一个食物 places/restaurants 自动完成字段来执行以下操作:
- 优先显示办公室 1 和办公室 2 (Latitude/Longitude) 附近的食物 places/restaurants。 (似乎当您将多个 LatLng 组合作为边界传递时,它不会这样做。想确认这是不可能的。)
- 仅显示与食物相关的地点。 (我相信使用自动完成这是不可能的,因为它仅限于传递某些地方类型)
这是我最接近我想要达到的目标。但是,只有当我为 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));
我正在尝试创建一个食物 places/restaurants 自动完成字段来执行以下操作:
- 优先显示办公室 1 和办公室 2 (Latitude/Longitude) 附近的食物 places/restaurants。 (似乎当您将多个 LatLng 组合作为边界传递时,它不会这样做。想确认这是不可能的。)
- 仅显示与食物相关的地点。 (我相信使用自动完成这是不可能的,因为它仅限于传递某些地方类型)
这是我最接近我想要达到的目标。但是,只有当我为 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));