function place_has_keywords(aThisPlace) {
// Return false if Nominatim API sends 'keywords: { name: [], address: [] }'
+ // Like no longer needed after Nominatim version 4.3
return (
aThisPlace.keywords && aThisPlace.keywords.name && aThisPlace.keywords.address
&& (aThisPlace.keywords.name.length > 0 || aThisPlace.keywords.address.length > 0)
);
}
+ function country_code(aThisPlace) {
+ let aLine = aThisPlace.address.find((address_line) => address_line.type === 'country_code');
+ return aLine ? aLine.localname : null;
+ }
+
$: {
let pageinfo = $page;
if (pageinfo.tab === 'details') {
<table id="locationdetails" class="table table-striped table-responsive">
<tbody>
<InfoRow title="Name">
- {#if (Array.isArray(aPlace.names)) }
- <span class="noname fw-bold">No Name</span>
- {:else}
+ {#if aPlace.names && typeof (aPlace.names) === 'object'
+ && Object.keys(aPlace.names).length}
<InfoRowList items={aPlace.names} />
+ {:else}
+ <span class="noname fw-bold">No Name</span>
{/if}
</InfoRow>
<InfoRow title="Type">{aPlace.category}:{aPlace.type}</InfoRow>
<div class="row">
<div class="col-md-12">
<h2>Address</h2>
- <table id="address" class="table table-striped table-small">
+ <table id="address" class="table table-striped table-small">
<thead>
<tr>
<th>Local name</th>
{#each aPlace.address as addressLine}
<DetailsOneRow addressLine={addressLine}
bMarkUnusedLines={true}
- bDistanceInMeters={false} />
+ bDistanceInMeters={false}
+ sCountryCode={country_code(aPlace)} />
{/each}
{/if}
{/each}
{#if Object.keys(aPlace.hierarchy) > 500}
- <p>There are more child objects which are not shown.</p>
+ <tr><td><p>There are more child objects which are not shown.</p></td></tr>
{/if}
{:else}
<tr><td>Place is not parent of other places</td></tr>