Автозаполнение поиска радиуса не работает в моих картах Google - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу ввести радиус в моих картах Автозаполнение поиска мест, чтобы я мог сначала получить подсказку по поиску из этого радиуса.

мой код

var options = {
        types: [],
        componentRestrictions: {
            'country': 'IN'
        },
        location : { lat: 17.3850, lng: 78.4867 },
        radius : 5000
    };
    let inputPick = document.getElementById('pick');
    const autocompletePick = new google.maps.places.Autocomplete(inputPick, options);

    google.maps.event.addListener(autocompletePick, 'place_changed',  () => {
        let place =autocompletePick.getPlace();
        // console.log(place.name)
        // document.getElementById('pick').value = place.name;
        this.setState({pickAddress:place.name})
        let lat = place.geometry.location.lat(),
            lng = place.geometry.location.lng();
        //putting place in pick field
        let geocoder = new google.maps.Geocoder;
        geocoder.geocode({'location': {lat:lat,lng:lng}}, function(results, status) {
            if (status === 'OK') {
                // console.log(results[0].formatted_address)
                document.getElementById('pick').value = results[0].formatted_address;
            }
        })

но сейчас я перебираюсь по всей стране .
Я ищу в Google, но не могу найти правильное решение. Кто-нибудь может мне помочь, я застрял):

1 Ответ

0 голосов
/ 26 апреля 2018

Если вы посмотрите справочную документацию по Google Maps JavaScript API, вы увидите, что у объекта AutocompleteOptions нет полей location и radius

https://developers.google.com/maps/documentation/javascript/reference/3/#AutocompleteOptions

Вместо этого в нем есть поле bounds для определения области, в которой вы хотите искать, и поле strictBounds, чтобы ограничить результаты только этой областью.

Вы должны переписать свой код с опциями автозаполнения bounds и strictBounds. Что-то вроде

var options = {
    bounds: cityBounds,
    strictBounds: true,
    types: ['geocode'],
    componentRestrictions: { country: "IN" }
};

Для получения более подробной информации смотрите документацию по границам

https://developers.google.com/maps/documentation/javascript/reference/3/#LatLngBounds

https://developers.google.com/maps/documentation/javascript/reference/3/#LatLngBoundsLiteral

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...