Так что я пытаюсь реализовать Google Maps с помощью окна поиска. В настоящее время окно поиска извлекает 20 верхних мест на основе результата поиска.searchBox Google Maps с разбивкой на страницы
Что я заметил, это не разбиение на страницы. Например, если я наберу «пиццу», это даст мне 20 лучших результатов в текущих границах. Но когда я использую функцию текстового поиска, чтобы получить список поисков пиццы, я получаю более 20 результатов с разбиением на страницы.
Есть ли способ получить разбиение на страницы на свой поискBox или использовать функцию textSearch для предоставления разбивки на страницы после того, как вы использовали searchBox?
То, что я здесь отрывок:
var canvas = element.find('div')[0];
var mapOptions = {
zoom: 5,
minZoom: 2,
};
var searchBox = new google.maps.places.SearchBox('pizza');
var placeService = new google.maps.places.PlacesService(map);
google.maps.event.addListener(searchBox, 'places_changed', locationChange);
function locationChange() {
var places = searchBox.getPlaces();
//Determine if there are additional places not provided by searchbox. Using text
var request = {
query: input.value,
};
var textSearchPlaces = placeService.textSearch(request, callback);
function callback(results, status, pagination) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var hi = places;
for (var i = 0; i < results.length; i++) {
var place = results[i];
}
}
}
if (places.length === 0) {
return;
}
};
Как вы можете видеть, что это не самое идеальное решение, глядя используя нумерацию страниц, как я бы фильтровать через textSearchPlaces, чтобы увидеть, если эти места а не дубликаты результатов поиска.
Я также подумал о том, чтобы просто удалить поисковый запрос и просто пойти с функцией textSearch, но я понял, что у меня не будет функции автозаполнения, которая предоставляет предложения, которые предоставляет searchBox.
Полностью игнорировать места, возвращаемые поисковой системой, и запускать только текстовый поиск, основанный на значении '' –
Хммм это интересный способ сделать это Lol. –