У меня есть приложение Cordova для Android, и я предоставляю форму автозаполнения, где пользователи получают подсказки адресов при наборе текста.
Я использую виджет Javascript для автозаполнения Google:
var input = document.getElementById('inputfield');
var autocomplete = new google.maps.places.Autocomplete(input, { types: ['address'], fields: ["place_id"] });
autocomplete.setFields(["place_id"]);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
alert(JSON.stringify(place));
});
Как вы можете видеть, я указала только вернуть информацию place_id
.alert()
в обратном вызове доказывает, что только функция place_id
возвращается обратно из функции getPlace()
.
Таким образом, этот виджет квалифицируется как «Автозаполнение (входит в описание мест)», потому что за ним следует автозаполнениепо запросу getPlace()
.
От Google docs https://developers.google.com/places/web-service/usage-and-billing, этот вид запроса автозаполнения должен быть оценен на основе обычной цены на детали Места:
Автозаполнение (включена в сведения о местах) - за сеанс SKU взимается плата за сеанс автозаполнения, который включает запрос информации о местах.Запрос на автозаполнение бесплатный, и последующий звонок в Places Details оплачивается на основе обычной цены Places Details (описанной ниже).
Так что я ожидаю, что будет взиматься плата только за запрос getPlace()
, основанный нана регулярных ценах Подробнее.Поскольку в моем коде я запрашиваю только поле place_id
, мой запрос getPlace()
квалифицируется как запрос на обновление идентификатора:
Итак,в конце я бы ожидал, что комбинация запроса autocomplete
с последующим запросом getPlace()
типа ID Refresh будет бесплатной.Я попытался выполнить 4 сеанса автозаполнения, и мне выставили счет за 4 сеанса «Автозаполнение без сведений о местах», что неправильно (я вызываю функцию getPlace()
в конце сеанса автозаполнения).