Я использую API геокодирования Google для извлечения информации place_id (и другой) для использования с API-интерфейсом Places. Большинство адреса возвращают ожидаемое значение place_id 27 символов, то есть:Google Places - неожиданные 50-значные значения place_id
ChIJUXJ61wrsFogR3jv6yBBFlQY
Однако небольшой процент адресов, которые в противном случае вернуть, казалось бы, хорошие данные (formatted_address
и т.д.) возвращается значение 50-символов с префиксом E
как :
EjA1Mjk1IFB1bGxleWJsYW5rIFN0LCBXaW5kc29yLCBPTiBOOU
Эти 50-символьные place_ids бросать ошибки на других API, Google (т.е. Distance Matrix с использованием place_id как происхождения и/или назначения):
Invalid request. Invalid 'origins' parameter. 'EiU5MDAxIFJpbGV5IFN0LCBaZWVsYW5kLCBNSSA0OTQ2NCwgVV'
is not a valid Place ID.
Когда я смотрю на ответы Google, я вижу, все они делятся на три категории:
- LOCATION_TYPE = RANGE_INTERPOLATED, типы = street_address
- LOCATION_TYPE = ROOFTOP, типы = subpremise
- LOCATION_TYPE = ПРИБЛИЖЕННАЯ, типы = пересечение
Все три указывают адреса с «проблемами» в некотором роде (номер поддельной улицы, подраздел большей площади, приблизительное местоположение). Итак, я думаю, мой вопрос:
Являются ли значения из 50 символов place_id всегда мусором?
Не навязывайте свои собственные ограничения на размер Место идентификаторами, они могут быть сколь угодно долго. – miguev
Итак, теперь это кажется плохим вопросом - очевидно, простая ошибка с моей стороны. Должен ли я просто удалить этот вопрос? –
Нет, это хороший вопрос, потому что https://developers.google.com/places/place-id похоже, что идентификаторы места, как ожидается, всегда будут 27-символьными строками. – miguev