class_label: str) -> str:
""" Return the result list as a simple json string in custom Nominatim format.
"""
- locales = options.get('locales', napi.Locales())
-
out = JsonWriter()
if simple:
out.start_array()
for result in results:
- label_parts = result.address_rows.localize(locales) if result.address_rows else []
-
out.start_object()\
.keyval_not_none('place_id', result.place_id)\
.keyval('licence', cl.OSM_ATTRIBUTION)\
.keyval('addresstype', cl.get_label_tag(result.category, result.extratags,
result.rank_address,
result.country_code))\
- .keyval('name', locales.display_name(result.names))\
- .keyval('display_name', ', '.join(label_parts))
+ .keyval('name', result.locale_name or '')\
+ .keyval('display_name', result.display_name or '')
if options.get('icon_base_url', None):
if not results and simple:
return '{"error":"Unable to geocode"}'
- locales = options.get('locales', napi.Locales())
-
out = JsonWriter()
out.start_object()\
.key('features').start_array()
for result in results:
- if result.address_rows:
- label_parts = result.address_rows.localize(locales)
- else:
- label_parts = []
-
out.start_object()\
.keyval('type', 'Feature')\
.key('properties').start_object()
.keyval('addresstype', cl.get_label_tag(result.category, result.extratags,
result.rank_address,
result.country_code))\
- .keyval('name', locales.display_name(result.names))\
- .keyval('display_name', ', '.join(label_parts))
+ .keyval('name', result.locale_name or '')\
+ .keyval('display_name', result.display_name or '')
if options.get('addressdetails', False):
out.key('address').start_object()
if not results and simple:
return '{"error":"Unable to geocode"}'
- locales = options.get('locales', napi.Locales())
-
out = JsonWriter()
out.start_object()\
.key('features').start_array()
for result in results:
- if result.address_rows:
- label_parts = result.address_rows.localize(locales)
- else:
- label_parts = []
-
out.start_object()\
.keyval('type', 'Feature')\
.key('properties').start_object()\
.keyval('osm_value', result.category[1])\
.keyval('type', GEOCODEJSON_RANKS[max(3, min(28, result.rank_address))])\
.keyval_not_none('accuracy', getattr(result, 'distance', None), transform=int)\
- .keyval('label', ', '.join(label_parts))\
- .keyval_not_none('name', result.names, transform=locales.display_name)\
+ .keyval('label', result.display_name or '')\
+ .keyval_not_none('name', result.locale_name or None)\
if options.get('addressdetails', False):
_write_geocodejson_address(out, result.address_rows, result.place_id,