open-index/open-npm huggingface dataset:
npm package: @geolonia/cli
Description: The official Geolonia CLI
Latest version: 0.2.0

# @geolonia/cli

[![build](https://github.com/geolonia/cli/actions/workflows/build.yml/badge.svg)](https://github.com/geolonia/cli/actions/workflows/build.yml)

CLI commands for Geolonia.

## インストール方法

```shell
$ npm -g install @geolonia/cli
```

## コマンド

### 共通オプション

```shell
$ geolonia <command> --credential-file <credentialFile>
```

認証情報はデフォルトでは ~/.config/geolonia/credential.ymlより読み込みますが、--credential-fileオプションにより、任意の場所に置かれたファイルを代わりに読み込むことができます。

```shell
$ geolonia <command> --config-file <configFile>
```

選択済みのチームなどの情報を保存しておく設定情報はデフォルトでは ~/.config/geolonia/config.ymlより読み込みますが、--config-fileオプションにより、任意の場所に置かれたファイルを代わりに読み込むことができます。

### `help`

```shell
$ geolonia -h
$ geolonia --help
```

ヘルプを表示します。

### `version`

```shell
$ geolonia -V
$ geolonia --version
```

バージョン番号を表示します。

### `login`

```shell
$ geolonia login
```

Geoloniaアカウント（https://app.geolonia.com/ で作成）でログインします。

各種コマンドを実行するには、事前にログインしておく必要があります。

認証情報（ログインしたときに得られるアクセストークンなど）は ~/.config/geolonia/credential.ymlに保存されます。

### `teams`

チーム一覧、チーム選択のコマンド

#### `teams list`

```shell
$ geolonia teams list [options]
```

選択できるチーム情報の一覧を表示します。選択済みのチームには*マークが付きます。

#### `teams select`

```shell
$ geolonia teams select [options] <teamId>
```

teamIdを指定して、チームを選択します。

teamIdには、teams listコマンドで表示されるTeam IDを使用してください。

### `locations` 

Geolonia Locations (位置情報ホスティング) に関してのコマンド。CSV / GeoJSON などのアップロードに使います。

#### `locations upload`

```shell
$ geolonia locations upload [options] <filePath>
```

<filePath>で指定したファイルを位置情報データとしてアップロードします。

指定できるファイルは、GeoJSON・CSV・MBTiles・シェープファイルファイルです。シェープファイルを指定するときは、

```shell
$ geolonia locations upload example/example.shp
```

のように、*.shpファイルを指定してください。同じフォルダー下のexample.shx、example.dbf、example.prj、example.cpg（含まれていれば）が一緒にアップロードされます。

```shell
$ geolonia locations upload -y(or --yes) example/example.shp
```

のように -y（または --yes）オプションを付けると、ファイルのアップロードの確認には同意済みとしてスキップできます。

### `sprites`

カスタムスプライトをアップロードするために使います。

#### `sprites upload`

```shell
$ geolonia sprites upload [options] <filePath>
```

<filePath>で指定したファイルをスプライトデータとしてアップロードします。

スプライトデータにはsvgファイルを指定してください。

#### `sprites delete`

```
$ geolonia sprites delete [options]
```

スプライトデータを削除します。

### `generate-access-token`

```shell
$ geolonia generate-access-token [options]
```

`teams select` コマンドで選択したチームにひもづくアクセストークンを発行します。発行されるトークンを環境変数**GEOLONIA_ACCESS_TOKEN**の値に設定すると、credential.ymlなしでも各種コマンドを実行できます。
npm package: @geolonia/cra-template
Description: Official Geolonia template for Create React App
Latest version: 0.0.1

# `@geolonia/cra-template`

The Geolonia template for [Create React App](https://github.com/facebook/create-react-app).

To use this template, add `--template @geolonia` when creating a new app.

For example:

```sh
yarn create react-app my-app --template @geolonia
```
npm package: @geolonia/create-map
Description: Starter Kit for Geolonia Map.
Latest version: 0.0.7

# Geolonia Node.js Starter Kit

## usage

```shell
$ yarn create @geolonia/map your-map-name
```

## development

```shell
$ git clone git@github.com:geolonia/create-map.git
$ cd create-map
$ yarn
```
npm package: @geolonia/detic
Description: A simple reverse geocoder library.
Author: kamataryo
Latest version: 0.0.0

# @geolonia/detic

A simple reverse geocoder library.

## install and usage

```shell
$ npm install @geolonia/detic
$ detic jp 0,0                  // false
$ detic jp 139.925237,35.546346 // { "prefCode": "22" }
```

## Development

```shell
$ git clone git@github.com:geolonia/detic.git
$ cd detic
$ npm install # or yarn
$ npm test
```
npm package: @geolonia/embed-react
Description: React bindings for Geolonia Maps Embed API
Author: Keitaroh Kobayashi
Latest version: 1.2.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Geolonia Maps Embed for React

[![npm](https://img.shields.io/npm/v/@geolonia/embed-react?style=flat-square)](https://www.npmjs.com/package/@geolonia/embed-react) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/geolonia/embed-react/build?style=flat-square)](https://github.com/geolonia/embed-react/actions/workflows/build.yml)

[Geolonia Maps](https://geolonia.com/maps/) の地図を React のアプリケーションに埋め込むためのライブラリー。

[デモや使い方を見る](https://geolonia.github.io/embed-react/?path=/story/geoloniamap--defaults)

## インストール

```shell
npm install --save @geolonia/embed-react
```

```shell
yarn add @geolonia/embed-react
```

## 使い方

```jsx
import { GeoloniaMap } from '@geolonia/embed-react';

const Page = () => {
  return <>
    <h1>私の地図</h1>
    <GeoloniaMap
      apiKey="YOUR-API-KEY"
      style={{height: "200px", width: "100%"}}
      lat="35.681236"
      lng="139.767125"
      zoom="16"
    />
  </>
}
```

Geolonia Maps をご自身のサイトに表示させるために API キーが必要となります。[詳しくはこちらをお読みください。](https://docs.geolonia.com/tutorial/002/)

## Embed API と の違い

Embed API は `data-*` アトリビュートで引数を渡していますが、 React インテグレーションは `data-*` がありません。例えば、 `data-lat="35"` の代わりに、 `lat="35"` で指定してください。 `-` で別れている言葉があれば camelCase でつなげてください。(例： `data-navigation-control` が `navigationControl` になります)

また、 React や JavaScript の制約上制限されている属性名が変わります。下記の表を参照しにしてください。

| Embed API の属性 | Embed React の props 名 |
| --------------- | ----------------------- |
| `data-style="geolonia/basic"` | `mapStyle="geolonia/basic"` |
| `data-3d="on"`  | `render3d="on"` |

`embed-react` は使用するコンポーネントがマウントされる時に Embed API の JavaScript が読み込まれているかを確認し、読み込まれていない場合は動的に追加します。もしサイトのほとんどのページに Geolonia Maps 地図を埋め込む場合は、テンプレートの `index.html` に埋め込むことをおすすめします。[サンプルを確認する](https://github.com/geolonia/maps.geolonia.com/blob/4e431e466db71af7b4181129b3a8408ae91cd028/public/index.html#L26)

## カスタムコントロールを追加する

`<GeoloniaMap.Control />` を使うと、独自の[コントロール](https://maplibre.org/maplibre-gl-js-docs/api/markers/#icontrol)を地図に追加することができます。

```jsx
import { GeoloniaMap } from '@geolonia/embed-react';

const Page = () => {
  return <>
    <GeoloniaMap style={{height: "200px", width: "100%"}}>
      <GeoloniaMap.Control containerProps={ { className: 'maplibregl-ctrl' } }>
        <button>{'ボタン'}</button>
      </GeoloniaMap.Control>
    </GeoloniaMap>
  </>
}
```

| props | type |
| --------------- | ----------------------- |
| position? | `"top-left" \| "top-right" \| "bottom-right" \| "bottom-left"` |
| onAdd? | `maplibregl.IControl['onAdd']` |
| onRemove? | `maplibregl.IControl['onRemove']` |
| containerProps? | `{ className?: string }` |

## 注意

現在のバージョンでは、 `GeoloniaMap` の props が変わると地図の再レンダリングが行われません。

下記の props が変わる時に動的に変更を受け付けています。

* `lat`, `lng`, `zoom`
  * マーカーが表示されているときはマーカーの位置を変更し、地図の中央点を新しい `lat`, `lng`, `zoom` に飛びます。
* `mapStyle`
npm package: @geolonia/eslint-config
Description: Geolonia ESLint shared configs.
Author: Geolonia
Latest version: 0.0.7

# @geolonia/eslint-conifg

[![Node.js CI](https://github.com/geolonia/eslint-config/actions/workflows/node.js.yml/badge.svg)](https://github.com/geolonia/eslint-config/actions/workflows/node.js.yml)

Internal ESLint config for Geolonia projects.

## Usage

```shell
$ yarn add eslint @geolonia/eslint-config --dev
```

```javascript
// .eslintrc.js
module.exports = {
  exetends: ['@geolonia'],

  // add `env` if required
  env: {
    browser: true,
    node: true,
    jest: true,
  },

  parserOptions: {
    sourceType: "module", // add if "type": "module" is set in package.json
    project: ['tsconfig.json'], // add if you use TypeScript in the project
  }
}
```
npm package: @geolonia/fixed-map-plugin
Description: Geolonia Embed API plugin to fix your map.
Author: kamataryo
Latest version: 0.0.6

# Fixed Map Geolonia Plugin

地図を固定表示する Geolonia プラグインです。
このプラグインを適用すると地図が画面の一部に固定され、スクロールしても地図が表示され続けるようになります。

DEMO: https://geolonia.github.io/fixed-map-plugin/

## 使い方

Fixed Map Geolonia Plugin は、 Geolonia [Embed API](https://docs.geolonia.com/embed-api/) のプラグインとして動作します。
以下のように Embed API と一緒にスクリプトを読み込んでください。

```html
<body>
  <div class="geolonia"></div>
  <script src="https://cdn.geolonia.com/v1/embed?geolonia-api-key=YOUR-API-KEY" />
  <script src="https://cdn.geolonia.com/v1/fixed-map-plugin@latest" />
</body>
```

## カスタマイズ

`fixed` クラス、または `geolonia-map-fixed` クラスを使って CSS を上書きすることで、固定マップのスタイルを変更できます。

```css
.geolonia.fixed {
  left: 10px;
  top: 10px;
}
.geolonia.geolonia-map-fixed {
  right: 10px;
  top: 10px;
}
```

## コントリビューション

Issue、プルリクエストはいつでも歓迎します。
以下のコマンドで開発用サーバーを立ち上げることができます。

```shell
$ git clone git@github.com:geolonia/fixed-map-plugin.git
$ cd fixed-map-plugin
$ yarn # または npm install
$ npm start
```
npm package: @geolonia/japanese-numeral
Description: Converts Japanese Kanji numeral to number.
Author: Geolonia Inc.
Latest version: 1.0.2

# @geolonia/japanese-numeral

[![https://github.com/geolonia/wwwdiff/japanese-numeral](https://github.com/geolonia/japanese-numeral/workflows/test/badge.svg)](https://github.com/geolonia/japanese-numeral/actions?query=workflow%3Atest)
[![npm version](https://badge.fury.io/js/%40geolonia%2Fjapanese-numeral.svg)](https://badge.fury.io/js/%40geolonia%2Fjapanese-numeral)

Converts Japanese Kanji numeral <=> number.

## Installation

```bash
$ npm install @geolonia/japanese-numeral --save
```

## Usage

### kanji2number()

Converts Japanese Kanji numeral to number.

```javascript
import { kanji2number } from '@geolonia/japanese-numeral'

console.log(kanji2number('一千百十一兆一千百十一億一千百十一万一千百十一')) // 1111111111111111

// `一千` を `千` と記述しても同じ結果になる。
console.log(kanji2number('千百十一兆千百十一億千百十一万千百十一')) // 1111111111111111

// 漢数字のゼロ `〇` を使用することも可能。
console.log(kanji2number('二〇二〇')) // 2020

// 数字と漢数字が混ざった表記にも対応
console.log(kanji2number('2億3千430万')) // 234300000
console.log(kanji2number('２億３千４５６万７８９０')) // 234567890 （数字は全角でも可）
```

### number2kanji()

Converts number to Japanese Kanji numeral.

```javascript
import { number2kanji } from '@geolonia/japanese-numeral'

console.log(number2kanji(1111111111111111)) // 千百十一兆千百十一億千百十一万千百十一
```

### findKanjiNumbers()

Finds the Japanese numeral numbers as an array.

```javascript
import { findKanjiNumbers } from '@geolonia/japanese-numeral'

console.log(findKanjiNumbers('今日は二千二十年十一月二十日です。')) // [ '二千二十', '十一', '二十' ]
console.log(findKanjiNumbers('今日は二〇二〇年十一月二十日です。')) // [ '二〇二〇', '十一', '二十' ]
console.log(findKanjiNumbers('わたしは二千二十億円もっています。')) // [ '二千二十億' ]
console.log(findKanjiNumbers('わたしは二〇二〇億円もっています。')) // [ '二〇二〇億' ]
console.log(findKanjiNumbers('わたしは1億2000万円もっています。')) // [ '1億2000万' ]
```

## License

[MIT](LICENSE)
npm package: @geolonia/mbgl-export-control
Description: [![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-export-control.svg)](https://badge.fury.io/js/%40geolonia%2Fmbgl-export-control)
Author: Takayuki Miyauchi
Latest version: 0.4.7

# @geolonia/mbgl-export-control

[![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-export-control.svg)](https://badge.fury.io/js/%40geolonia%2Fmbgl-export-control)

This is a Mapbox GL JS plugin that allows you to download the map as `.png` file.

![](https://www.evernote.com/l/ABW7C9vzeu9FsrMfu900lhOknLVdcP-vcCQB/image.png)

## Demo

https://geolonia.github.io/mbgl-export-control/

## How to install

```
$ npm install @geolonia/mbgl-export-control
```

Then:

```node
import ExportControl from '@geolonia/mbgl-export-control'

const map = new mapboxgl.Map({...});

// Add the control to download png.
map.addControl(new ExportControl());
```

## Options

The constructor of this plugin has some options.

```node
new ExportControl({
  dpi: 300,
  attribution: "© OpenStreetMap Contributors",
})
```

* `dpi` - Optional. Resolution for the png image. The default value is `300`.
* `attribution` - Optional. The attribution text for map exported with png format.
* `textFont` - Optional. An array of text fonts. `["Noto Sans Italic", "..."]`. If it is empty, this plugin try to detect font from JSON for the style of the map.

## LICENCE

MIT
npm package: @geolonia/mbgl-fork-me-control
Description: [![Build Status](https://travis-ci.org/tilecloud/mbgl-fork-me-control.svg?branch=master)](https://travis-ci.org/tilecloud/mbgl-fork-me-control) [![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-fork-me-control.svg)](https://badge.fury.io/js/%40g
Latest version: 0.2.7

# mbgl-fork-me-control

[![Build Status](https://travis-ci.org/tilecloud/mbgl-fork-me-control.svg?branch=master)](https://travis-ci.org/tilecloud/mbgl-fork-me-control)
[![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-fork-me-control.svg)](https://badge.fury.io/js/%40geolonia%2Fmbgl-fork-me-control)

This is a Mapbox GL JS plugin to add GitHub's fork-me ribbon.

https://tilecloud.github.io/mbgl-fork-me-control/

![](https://www.evernote.com/l/ABXkH-a_3vdIm4yDn-OOgfXUjmsJSObhe6IB/image.png)

## Install

```
$ npm install @geolonia/mbgl-fork-me-control --save
```

## How to use

```node
import ForkMeConntrol from '@geolonia/mbgl-fork-me-control'

const map = new mapboxgl.Map({
  container: 'map',
  style: 'https://tilecloud.github.io/tiny-tileserver/style.json',
  attributionControl: true,
  hash: true
});
map.addControl(new mapboxgl.NavigationControl());
map.addControl(new mapboxgl.GeolocateControl());

map.addControl(new ForkMeConntrol({
  url: 'https://github.com/tilecloud/mbgl-fork-me-control/',
}));
```
npm package: @geolonia/mbgl-geolonia-control
Description: [![Build Status](https://travis-ci.org/geolonia/mbgl-geolonia-control.svg?branch=master)](https://travis-ci.org/geolonia/mbgl-geolonia-control) [![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-geolonia-control.svg)](https://badge.fury.io/js/%40
Latest version: 1.0.0

# mbgl-geolonia-control

[![Build Status](https://travis-ci.org/geolonia/mbgl-geolonia-control.svg?branch=master)](https://travis-ci.org/geolonia/mbgl-geolonia-control)
[![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-geolonia-control.svg)](https://badge.fury.io/js/%40geolonia%2Fmbgl-geolonia-control)

This is a Mapbox GL JS plugin to display our trademark on map.

https://geolonia.github.io/mbgl-geolonia-control/

## Install

```
$ npm install @geolonia/mbgl-geolonia-control --save
```

## How to use

```node
import GeoloniaControl from "@geolonia/mbgl-geolonia-control";

const map = new mapboxgl.Map({
  container: "map",
  style: "https://geolonia.github.io/tiny-tileserver/style.json",
  attributionControl: true,
  hash: true
});

map.addControl(new mapboxgl.NavigationControl());
map.addControl(new mapboxgl.GeolocateControl());
map.addControl(new GeoloniaControl(), "bottom-left");
```
npm package: @geolonia/mbgl-gesture-handling
Description: This is a Mapbox GL JS plugin that handles wheel and touch gestures to prevent unexpected zooming and moving for the map embeded in your web site.
Author: geolonia.com
Latest version: 1.0.15

# @geolonia/mbgl-gesture-handling

[![Build Status](https://travis-ci.org/geolonia/mbgl-gesture-handling.svg?branch=master)](https://travis-ci.org/geolonia/mbgl-gesture-handling)
[![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-gesture-handling.svg)](https://badge.fury.io/js/%40geolonia%2Fmbgl-gesture-handling)

This is a Mapbox GL JS plugin that handles wheel and touch gestures to prevent unexpected zooming and moving for the map embeded in your web site.

## Screenshots

### PC

Users need to use `[alt]|[ctrl]` + wheel to zoom them map.

![](https://www.evernote.com/l/ABV-KmK0NkVCQKskoYvAAFrBrepOXzi4XREB/image.png)

### Mobile devide

Users need to use two fingers to move the map.

![](https://www.evernote.com/l/ABU4Ifeia7JOoLdhguNhqw4MOsGev5mdILcB/image.png)

## Demo

https://geolonia.github.io/mbgl-gesture-handling/

## How to use

```bash
$ npm install @geolonia/mbgl-gesture-handling
```

```node
import GestureHandling from '@geolonia/mbgl-gesture-handling'

const map = new mapboxgl.Map({
  ...
});

// Defaults
const options = {
  backgroundColor: 'rgba(0, 0, 0, 0.8)',
  textColor: '#ffffff',
  textMessage: 'Use alt + scroll to zoom the map.',
  textMessageMobile: 'Use two fingers to move the map.',
  timeout: 3000,
  modifierKey: 'alt',
}

new GestureHandling(options).addTo(map);
```

## Contributing

```bash
$ git clone git@github.com:geolonia/mbgl-gesture-handling.git
$ cd mbgl-gesture-handling
$ npm install
$ npm test
$ npm run build
```

### Note for developers

To publish this module:

```
$ npm tag x.x.x
$ git push origin x.x.x
```
npm package: @geolonia/mbgl-japanese-prefs
Description: [![Build Status](https://travis-ci.org/geolonia/mbgl-japanese-prefs.svg?branch=master)](https://travis-ci.org/geolonia/mbgl-japanese-prefs) [![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-japanese-prefs.svg)](https://badge.fury.io/js/%40geolon
Latest version: 0.2.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @geolonia/mbgl-japanese-prefs

[![Build Status](https://travis-ci.org/geolonia/mbgl-japanese-prefs.svg?branch=master)](https://travis-ci.org/geolonia/mbgl-japanese-prefs)
[![npm version](https://badge.fury.io/js/%40geolonia%2Fmbgl-japanese-prefs.svg)](https://badge.fury.io/js/%40geolonia%2Fmbgl-japanese-prefs)

Displays Japanese Prefectures on OpenMapTiles based map.

![](https://www.evernote.com/l/ABWnbE4DWjVMIZtXY-5aKm1T8UIFLQWIuQ8B/image.png)

## DEMO

https://geolonia.github.io/mbgl-japanese-prefs/#5/35.69/139.69

## How to use

```bash
$ npm install @geolonia/mbgl-japanese-prefs --save
```

Then:

```node
import 'babel-polyfill' // For ie11
import jaPrefs from '@geolonia/mbgl-japanese-prefs'

const map = new mapboxgl.Map({
  container: 'map',
  style: 'https://geolonia.github.io/tiny-tileserver/style.json',
  attributionControl: true,
  hash: true,
  localIdeographFontFamily: "sans-serif",
  interactive: true
});

new jaPrefs().addTo(map)
```

## Options

```node
new jaPrefs({
  id: "japanese-prefectures",
  textFiled: "{name:latin}\n{name:ja}",
  minzoom: 0,
  maxzoom: 9,
  textFont: ['Noto Sans Regular'],
  textSize: 14,
  before: "", // The ID of an existing layer to insert the new layer before.
}).addTo(map)
```

## Internal API

To get GeoJSON, you can do as follows.

```node
import jaPrefs from '@geolonia/mbgl-japanese-prefs'

const geojson = new jaPrefs().getGeoJSON()
console.log(geojson) // GeoJSON of Japanese prefectures
```

To get layer json for `style.json`:

```node
import jaPrefs from '@geolonia/mbgl-japanese-prefs'

const layer = new jaPrefs().getLayer()
console.log(layer) // Layer JSON
```
npm package: @geolonia/normalize-any-latlng
Description: a tool for normalizing Latitude and Longitude strings.
Latest version: 0.0.4

# normalize-any-latlng

[![build](https://github.com/geolonia/normalize-any-latlng/actions/workflows/test.yml/badge.svg)](https://github.com/geolonia/normalize-any-latlng/actions/workflows/test.yml)

`@geolonia/normalize-any-latLng` is a tool for normalizing Latitude and Longitude strings.

Here are some examples of how to use it:

```shell
$ npx @geolonia/normalize-any-latlng '29°31′55″N 35°00′20″E' # 29.531944444444445 35.00555555555555
$ npx @geolonia/normalize-any-latlng '북위37°34′00″ 동경126°58′41″' # 37.56666666666667 126.97805555555556
$ npx @geolonia/normalize-any-latlng '남위34°36′12″ 서경58°22′54″' # -34.60333333333333 -58.38166666666667
$ npx @geolonia/normalize-any-latlng '北緯32度53分9.35秒 東経130度11分9.34秒' # 32.885930555555554 130.18592777777778
$ npx @geolonia/normalize-any-latlng '45°24′N 75°40′W' # 45.4 -75.66666666666667
```

You can see more normalization examples in [src/index.test.ts](./src/index.test.ts).

## development

```shell
$ git clone https://github.com/geolonia/normalize-any-latlng.git
$ cd normalize-any-latlng
$ npm install
$ npm test
```

## Usage

```shell
$ npm install @geolonia/normalize-any-latlng
```

### CLI

```shell
$ npx @geolonia/normalize-any-latlng '北緯32度53分9.35秒 東経130度11分9.34秒' # 32.885930556 130.185927778
```

### JavaScript/TypeScript


```javascript
import { normalize } from '@geolonia/normalize-any-latlng'
const result = normalize('北緯32度53分9.35秒 東経130度11分9.34秒')

assert(result[0].lat === 32.885930556)
assert(result[0].lng === 130.185927778)
```
npm package: @geolonia/open-reverse-geocoder
Description: This is a open source reverse geocoder.
Latest version: 0.1.0

# @geolonia/open-reverse-geocoder

This is a open source reverse geocoder.

This NPM package provides a feature to seach both prefecture name and city name from particular longitude/latitude.

In order to provide reverse-geocoding feature, we are hosting address data in Github pages.

---
オープンソースかつ無料で利用できる逆ジオコーダーです。

この NPM モジュールを使用すると、緯度経度から都道府県名および市区町村名を検索することができます。

都道府県名および市区町村名を検索するために必要なデータを、ベクトルタイルフォーマットで GitHub ページ上にホストしていますので、安心して無料でご利用いただけます。

[demo/デモ](https://codepen.io/geolonia/pen/oNZLPQP)

Geolonia which develop this package does not collect any privacy information because it just utilize tilesets hosted in Github Pages.

---

また、GitHub ページ上にホストしたベクトルタイルを使用して都道府県名と市区町村を取得するという仕様のため、このモジュールを開発する Geolonia では個人情報の収集を一切行っておらず、安心してご利用ただけます。

## Structure / 組み

1. get the tile number equivalent to zoom level 10 (about 30 km square) on the client side based on the latitude and longitude specified as arguments of `openReverseGeocoder()`, and download the vector tiles from the web server with AJAX.
2. retrieves the polygons with the specified latitude and longitude from the polygons of cities contained in the vector tiles downloaded by AJAX on the client side, and returns the name of the prefecture and the name of the city.

---

1. `openReverseGeocoder()` の引数として指定された緯度経度を元に、クライアントサイドでズームレベル10相当（約30km平米）のタイル番号を取得し、ウェブサーバーからベクトルタイルを AJAX でダウンロードします。
2. AJAX でダウンロードしたベクトルタイルの中に含まれる市区町村のポリゴンの中から、指定された緯度経度が含まれるポリゴンをクライアントサイドで検索し、都道府県名及び市区町村名を返します。

## How to install / インストール方法

```
$ npm install @geolonia/open-reverse-geocoder -S
```

## API

```
const { openReverseGeocoder } = require(@geolonia/open-reverse-geocoder)

openReverseGeocoder([139.7673068, 35.6809591]).then(result => {
  console.log(result) // {"code": "13101", "prefecture": "東京都", "city": "千代田区"}
})
```

Or

```
const { openReverseGeocoder } = require(@geolonia/open-reverse-geocoder)

const result = await openReverseGeocoder([139.7673068, 35.6809591])
console.log(result) // {"code": "13101", "prefecture": "東京都", "city": "千代田区"}
```
## License / ライセンス

MIT