spróbuj dodać właściwość bounds
do obiektu options
jesteś przechodzącej do konstruktora Autocomplete
, jak pokazano w tym kodzie:
var southWest = new google.maps.LatLng(25.341233, 68.289986);
var northEast = new google.maps.LatLng(25.450715, 68.428345);
var hyderabadBounds = new google.maps.LatLngBounds(southWest, northEast);
var options = {
bounds: hyderabadBounds,
types: ['establishment [or whatever fits your usage]'],
componentRestrictions: { country: 'pk' }
};
Jeśli chcesz, Autocomplete
granice, aby były napędzane przez bieżącej rzutni mapy, można powiązać granice mapie do Autocomplete
ten sposób:
autocomplete.bindTo('bounds', map);
lub, jeśli to działa lepiej w aplikacji, masz również możliwość ustalenia granic wyraźnie razie potrzeby:
autocomplete.setBounds(someOtherBounds);
To może oznaczać, że należy utworzyć domyślną miasto, jak ja z Hyberabad w powyższym przykładzie . Możesz też pozwolić użytkownikom wybrać z listy miast, aby rozpocząć, a następnie ustawić rzutnię mapy do wybranego miasta. Autocomplete
zasugeruje nazwy miast, jeśli zaczynasz z tylko componentRestrictions
z country 'PK'
, jak już robisz. Będziesz wiedział, co najlepiej sprawdza się w twojej aplikacji.
Wreszcie, to nie całkowicie i całkowicie ogranicza Autocomplete
tylko do miasta, ale osiągnie wynik, który chcesz tak ściśle, jak to możliwe obecnie.
http://hittheroad.ie/ umożliwia autouzupełnianie tylko w Irlandii i nie ma innych sugestii. jak to jest możliwe? – ihimv
Przepraszamy za to głupie pytanie, ale jak znaleźć granice dla określonego miasta w danym kraju? –
@SiddharthAjmera: To nie jest głupie, ale uzyskasz lepsze wyniki, jeśli: otworzysz nowe pytanie, podasz więcej szczegółów na temat tego, co dokładnie chcesz osiągnąć, podasz przykład obecnego kodu i wyjaśnisz, dlaczego ten kod nie działa . –