An open API service indexing awesome lists of open source software.

https://github.com/takeyuweb/mt-plugin-location

Movable Type で位置情報に基づく記事の検索・地図表示などを実現します。
https://github.com/takeyuweb/mt-plugin-location

Last synced: over 1 year ago
JSON representation

Movable Type で位置情報に基づく記事の検索・地図表示などを実現します。

Awesome Lists containing this project

README

          

Location プラグイン
==================

* Author:: Yuichi Takeuchi
* Website:: http://takeyu-web.com/
* Copyright:: Copyright 2013 Yuichi Takeuchi
* License:: MIT License

Movable Type 6 で位置情報に基づく記事の検索・地図表示などを実現します。

![利用イメージ](https://raw.github.com/uzuki05/mt-plugin-Location/master/edit_entry.png)

* ブログ記事編集画面に「位置情報」を追加
* Google Map上のマーカーをドラッグ&ドロップで指定可能
* Geocoding APIを利用した名称・住所からの位置指定が可能
* Data APIに位置検索用のパラメータを追加
* 指定地点から半径○kmに含まれる
例)現在地から500m以内で検索
* 矩形領域に含まれる
例)Google Mapの表示領域内を検索
* 位置情報表示用のテンプレートタグを提供(スタティック/ダイナミック)

## Data API

### Entries list

記事一覧取得APIで以下のパラメータを指定できるようになります。
指定しない場合は標準の動作となります。

#### 指定地点から半径kmに含まれる

| パラメータ | 種類 | デフォルト | 説明 |
|:-----------|:-------------|:-----------|:----------------------|
| lat | float | | 中心点の緯度(WGS84) |
| lng | float | | 中心点の経度(WGS84) |
| distance | float | 1.0 | 検索半径(km) |

http://test.host/mt/mt-data-api.cgi/v1/sites/1/entries?lat=35.710139&lng=139.810833&distance=1.0

#### 矩形領域に含まれる

| パラメータ | 種類 | デフォルト | 説明 |
|:-----------|:-------------|:-----------|:--------------------------------|
| sw_lat | float | | 矩形領域の南西端の緯度(WGS84) |
| sw_lng | float | | 矩形領域の南西端の経度(WGS84) |
| ne_lat | float | | 矩形領域の北東端の緯度(WGS84) |
| ne_lng | float | | 矩形領域の北東端の経度(WGS84) |

http://test.host/mt/mt-data-api.cgi/v1/sites/1/entries?sw_lat=35.0547&sw_lng=133.9907&ne_lat=35.0617&ne_lng=134.0046

### Entries resource

Data APIから返却される記事リソースに以下のプロパティが追加されます。

| プロパティ | 種類 | データ種別 | カラム | 読込専用 | 説明 |
|:-------------|:-------------|:-------------|:----------------------|:---------|:----------------------|
| useLocation | value | Boolean | mt_entry.use_location | | 位置情報有効フラグ |
| lat | value | float | mt_entry.lat | | 緯度(WGS84) |
| lng | value | float | mt_entry.lng | | 経度(WGS84) |

## テンプレートタグ

スタティックパブリッシング・ダイナミックパブリッシングのどちらでも使用できます。

### コンディショナルタグ

#### MTEntryIfPositioned

記事の位置情報が「有効」のときブロック内を処理

### ファンクションタグ

#### MTEntryLat

記事の緯度を表示

#### MTEntryLng

記事の経度を表示

### 使用例


緯度:<$MTEntryLat$>
経度:<$MTEntryLng$>
,<$MTEntryLng$>&ll=<$MTEntryLat$>,<$MTEntryLng$>&z=15";>GoogleMap

## サンプル

Google Map + Data API + Location のサンプルを sample.tmpl として用意しています。

コピペして適当なインデックステンプレートを作成すれば、地図検索を試せます。

## TODO

できればやりたいこと。(無理っぽいことも含まれる)

* 検索
* 指定地点からの距離を取得
* 指定地点からの近い順でソート
* テンプレートタグ
* 測地系変換モディファイア
* 度分秒表記モディファイア
* 管理
* Listing Frameworkで位置検索

##Contributing to Location

Fork, fix, then send me a pull request.

##Copyright

© 2013 Yuichi Takeuchi, released under the MIT license