README
GeoSearch
Simple nodejs library to find places all around the world
Datasource: Mapy.cz Suggest API
Demo
https://stackblitz.com/edit/geosearch
Install
via yarn
yarn add @coex/geosearch
via npm
npm install @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.
© 2021 COEX