0.0.7-beta • Published 1 year ago
@amraneze/osm-autocomplete v0.0.7-beta
React Autocomplete using OpenStreetMap
A React component to search for addresses using OpenStreetMap
Install
npm install @amraneze/osm-autocompleteyarn add @amraneze/osm-autocompleteHow to use
import ReactDOM from 'react-dom';
import { OpeenStreetMap, OpenStreetMapAutocomplete } from '@amraneze/osm-autocomplete';
const responseInstagram = (response) => {
console.log(response);
};
ReactDOM.render(
<OpenStreetMapAutocomplete value={null} onChange={handleOnOptionSelected} />,
document.getElementById("root")
);Note: Here is a sandbox to play around.
Parameters
| params | value | default value |
|---|---|---|
| value | OpeenStreetMap | REQUIRED |
| onChange | function | REQUIRED |
| debounce | string | 500 |
| placeholder | string | 'Search' |
| noOptionName | string | 'No locations found' |
| openStreetMapUrl | string | 'https://nominatim.openstreetmap.org' |
| classes | OpenStreetMapAutocompleteStyle | - |
| styles | OpenStreetMapAutocompleteStyle | - |
Where OpeenStreetMap is
interface OpeenStreetMap {
lat: string;
lon: string;
type: string;
class: string;
osm_id: number;
licence: string;
osm_type: string;
place_id: number;
importance: number;
display_name: string;
boundingbox: string[];
}and
interface OpenStreetMapAutocompleteStyle<T> {
root: T;
form: T;
inputWrapper: T;
input: T;
divider: T;
button: T;
listWrapper: T;
options: T;
}<OpenStreetMapAutocomplete value={value} onChange={handleOnOptionSelected} />Running the project
Locally
Before you will run the example to test lively the component, you should run these following commands:
On the root directory
yarn linkor
npm linkOn the example directory
yarn link osm-autocompleteor
npm link osm-autocompleteAnd don't forget to build the project with:
yarn buildor
npm buildor if you want to keep watching the changes on the file
yarn build:watchor
npm build:watchNote: If you don't build the project, you will get the error
Can't resolve osm-autocomplete
Production Bundle
yarn buildor
npm buildTODO
- Add tests
- Add templates for PR and Issues