@coex/geosearch
v1.1.1
Published
Nodejs library for finding places using Mapy.cz Suggest API
Downloads
247
Readme
GeoSearch
Simple JavaScript library to find places all around the world
✓ TypeScript / JavaScript
✓ ESM
✓ CommonJS
✓ Node.js
Datasource: Mapy.cz Suggest API
Demo
https://stackblitz.com/edit/geosearch
Install
npm install @coex/geosearch
# yarn add @coex/geosearch
Usage
City, town, village
Let's find all Springfields in the World
import { GeoSearch } from '@coex/geosearch';
const geoSearch = new GeoSearch();
geoSearch
.suggest('Springfield', {
scope: 'muni', // Only cities, villages, (municipalities)
})
.then((places) => {
// ... do something cool
console.log('Results', places);
})
.catch((e) => {
// Catch Error
console.error('Error', e);
});
Places start with
Let's find cities or villages start with Ber in Germany
import { GeoSearch } from '@coex/geosearch';
const geoSearch = new GeoSearch();
geoSearch
.suggest('Ber', {
scope: 'muni', // Only cities, villages, (municipalities)
country: 'de', // Only from Germany
})
.then((places) => {
// ... do something cool
console.log('Results', places);
})
.catch((e) => {
// Catch Error
console.error('Error', e);
});
Public transport
Let's find position of public transport station in the Czech Republic
import { GeoSearch } from '@coex/geosearch';
const geoSearch = new GeoSearch();
geoSearch
.suggest('kokořín', {
scope: 'pubt', // Only public transport related places
country: 'cz', // Only from the Czech Republic
})
.then((places) => {
// ... do something cool
console.log('Results', places);
})
.catch((e) => {
// Catch Error
console.error('Error', e);
});
More!
Let's try to find rivers, lakes, mountains, streets, national parks, areas, tourist attractions, ..., everything what awesome Mapy.cz Suggest API can do.
Results (example)
[
{
category: 'municipality_cz',
highlight: [],
sentence: '',
userData: {
bbox: [Array],
country: 'Česko',
district: 'Hlavní město Praha',
elasticWeight: 0,
evidenceNumber: '',
hasAddress: true,
highlight: [Array],
highlightSecond: [Array],
houseNumber: '',
iconType: 'geo',
id: 3468,
img: '',
importance: 0.763394835100681,
latitude: 50.0835493857,
longitude: 14.4341412988,
mmid: '',
mmsource: '',
mmtype: '',
muniId: '3468',
municipality: 'Praha',
nuts: 'CZ0100',
poiType: '',
poiTypeId: 0,
popularity: 1,
premiseIds: [],
quarter: '',
region: 'Hlavní město Praha',
source: 'muni',
street: '',
streetNumber: '',
suggestFirstRow: 'Praha',
suggestSecondRow: 'okres Hlavní město Praha, kraj Hlavní město Praha, Česko',
suggestThirdRow: 'Hlavní město',
ward: '',
wikiId: 'Q1085',
zipCode: '',
},
},
];
⚙️ Options
| Option | Type | Default | Description |
| ----------- | ---------------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------- |
| scope | 'muni'
| 'area'
| 'pubt'
| 'street'
| null | Preferred category of results |
| bounds | { sw: LatLng, ne: LatLng}
| null | Preffered country boundaries |
| country | 'cz'
| 'sk'
| 'us'
| 'de'
| 'gb'
| 'jp'
| null | Preferred country. Same as bounds but with some presets. Feel free to add more via pull request |
| lang | 'en'
| 'cs'
| 'de'
| 'pl'
| 'sk'
| 'ru'
| 'es'
| 'fr'
| cs
| Preferred language |
| debug | boolean | false | Print additional information to console |
🤝 Development
Developing and debugging library
yarn start
Run demo locally
You can find and modify it in demo/index.ts
file
yarn demo
Run tests
yarn test
📝 License
Data source
Awesome Mapy.cz Suggest API from Seznam.cz
Please read this license before use.
This library
Code of this library is licensed under the MIT license.
© 2022 COex