ZDC.Moyori

「まとめて周辺検索」は、周辺の施設を歩行者ルートの近い順に検索するクラスです。
このクラスは直線距離ではなく、道のりで最も近い施設を複数検索できます。
※)search.js,shape.jsが必要です。
※)別途、プラグインをインクルードする必要があります。こちらから取得して下さい。

「まとめて周辺検索」は複数の検索を組み合わせています。
検索の種類と回数は下記です。

検索種別 回数
POI検索 genre数
ルート検索 (maxdisp + 2) × genre数

これらが実行されるタイミングは初期表示時、中心アイコン緯度経度の変更時およびrefreshメソッド実行時です。

実装例
まとめて周辺検索する
外部APIで取得するデータを道のり順に表示させる

コンストラクタ

ZDC.Moyori(latlon, options, func)

引数 プロパティ タイプ デフォルト 説明
latlon - ZDC.LatLon - 緯度経度
options map ZDC.Map - 表示する地図を指定
icon object - 中心アイコンの指定(ZDC.Markerのコンストラクタのoptions
genre array(object) - ジャンルオプションのオブジェクトの配列。3ジャンルまで指定可能
maxdisp (※1) number 3 地図に重畳する件数。ルート検索結果の近い順にN件を表示する。上限は10
radius number 500 検索範囲の半径をメートルで指定。範囲は0~1000
adjust boolean false trueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示
ovaloptions object - ZDC.Ovalのコンストラクタoptionsを指定できる
word string - 絞込みワード(※2)
srchtype string and 絞込みタイプ(※2)
notmultilanguage string F 多言語情報出力(※2)
func - function - 検索後のコールバックメソッド。引数に下記の結果オブジェクトをとる

※1 ・・・ 1回の表示につきルート検索が行われる回数は最大で(maxdisp + 2) × genre数
※2 ・・・ poi/latlonリクエストパラメータ参照

結果オブジェクト

タイプ 説明
object ジャンル結果のオブジェクト

メソッド

void setRadius(radius)

円の半径を設定します。

引数 タイプ 説明
radius number メートル単位の横半径、縦半径

void setMaxdisp(maxdisp)

地図に重畳する件数を設定します。

引数 タイプ 説明
maxdisp number 地図に重畳する件数

void setAdjust(adjust)

trueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示する

引数 タイプ 説明
adjust boolean trueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示

void moveLatLon(latlon)

コンストラクタで指定したマーカオブジェクトを、指定した緯度経度に移動して検索を実行します。

引数 タイプ 説明
latlon ZDC.LatLon 緯度経度

void searchRouteByUserItem(items, func)

指定したオブジェクトを基にルート検索します。

引数 タイプ 説明
items array(ジャンル検索オブジェクト) ジャンル検索オブジェクトの配列。3ジャンルまで指定可能
func function 検索後のコールバックメソッド。引数に下記の結果オブジェクトをとる

結果オブジェクト

タイプ 説明
object ジャンル結果のオブジェクト

ZDC.Marker getCenterIcon()

中心アイコンを取得します。


ZDC.Marker getIconById(id)

指定したIDに対応するアイコンオブジェクトを取得します。

引数 タイプ 説明
id string 地図上に表示されるアイコンオブジェクトのID

void refresh()

指定したオプションを地図に反映させて検索を実行します。


関連事項

ジャンルオプションのオブジェクト

プロパティ タイプ 説明
code string ジャンルコード
icon object 表示するアイコンの指定(ZDC.Markerのコンストラクタのoptions
lineProperty object 表示するラインの指定(ZDC.Polylineのコンストラクタのoptions

例)

{
    "code":"0011000260",
    "icon":{"offset":ZDC.Pixel(-15,-35),
          "custom":{"base":{"src":"./lab-map-clear.png",
                        "imgSize":ZDC.WH(30,35),
                        "imgTL":ZDC.TL(300,0)}}},
    "lineProperty":{"strokeColor":"#ee0000",
                   "strokeWeight":5, 
                   "lineOpacity":0.9, 
                   "lineStyle":"solid"}
},
{
    "code":"0014000170",
    "icon":{"offset":ZDC.Pixel(-15,-35),
          "custom":{"base":{"src":"./lab-map-clear.png",
                        "imgSize":ZDC.WH(30,35),
                        "imgTL":ZDC.TL(300,40)}}},
    "lineProperty":{"strokeColor":"#007c23", 
                   "strokeWeight":5, 
                   "lineOpacity":0.9, 
                   "lineStyle":"solid"}}

ジャンル結果オブジェクト

プロパティ タイプ 説明
ジャンルコード string アイテムオブジェクトの配列がコンストラクタで指定したジャンルコードで取得できる

アイテムオブジェクト

プロパティ タイプ 説明
distance number 距離(メートル単位)
routedist number 道のりの距離(メートル単位)
iconId string 地図に表示されるアイコンオブジェクトの識別ID
poi POIオブジェクト(object) POIオブジェクト

POIオブジェクト

プロパティ タイプ 説明
text string POIの名称
code string POIのコード
latlon ZDC.LatLon 代表点緯度経度
kana string 住所文字列のカナ表記
addressText string 住所文字列
zipcode string 郵便番号
phoneNumber string 電話番号
genre ジャンルオブジェクト ジャンルオブジェクト

ジャンルオブジェクト

ジャンルコードをプロパティとして下記のオブジェクトを取得できる

プロパティ タイプ 説明
text string ジャンルコードの説明
count number ジャンルコード毎の件数

例)

{
    "0014000170":[{"distance":68,
            "routedist":13,
            "iconId":"00140001700",
            "poi":{"addressText":"東京都千代田区",
                 "code":"30000000000000001624",
                 "genre":{"code":"0014000170",
                          "text":"買い物/コンビニ"},
                 "kana":"ニューデイズ",
                 "latlon":{"lat":35.6785889,
                           "lon":139.7687667},
                 "phoneNumber":null,
                 "text":"NEW DAYS",
                 "zipcode":null,
                 "routedist":13}},
            {"distance":130,
             "routedist":179,
             "iconId":"00140001701",
             "poi":{"addressText":"東京都千代田区丸の内2丁目4-1",
                  "code":"00000000000000244209",
                  "genre":{"code":"0014000170",
                           "text":"買い物/コンビニ"},
                  "kana":"ナチュラルローソンマルノウチビルディングテン",
                  "latlon":{"lat":35.6778694,
                            "lon":139.7670778},
                  "phoneNumber":"03-3284-3963",
                  "text":"ナチュラルローソン丸の内ビルディング店",
                  "zipcode":"100-6324",
                  "routedist":179}}]}

ジャンル検索オブジェクト

プロパティ タイプ 説明
item array(object) 検索POIオブジェクトの配列
icon object 表示するアイコンの指定(ZDC.Markerのコンストラクタのoptions
lineProperty object 表示するラインの指定(ZDC.Polylineのコンストラクタのoptions

検索POIオブジェクト

latlonは必須項目となります。その他のプロパティを設定した場合、コールバック関数の結果オブジェクトに含まれます。

プロパティ タイプ 説明
latlon ZDC.LatLon 代表点緯度経度

例)

[
   {"icon":{"color":ZDC.MARKER_COLOR_ID_BLUE_L},
    "lineProperty":{"strokeColor":"#007c23",
                    "strokeWeight":5,
                    "lineOpacity":0.9,
                    "lineStyle":"solid"},
    "item":[{"poi":{"latlon":{"lat":"35.6895036",
                              "lon":"139.7748219"}},
            {"poi":{"latlon":{"lat":"35.6895036",
                              "lon":"139.7759219"}}]},
   {"icon":{"color":ZDC.MARKER_COLOR_ID_GREEN_L},
    "lineProperty":{"strokeColor":"#001d7c",
                    "strokeWeight":5, 
                    "lineOpacity":0.9,
                    "lineStyle":"solid"},
    "item":[{"poi":{"latlon":{"lat":"35.6895715",
                              "lon":"139.7746939"}},
            {"poi":{"latlon":{"lat":"35.1895036",
                              "lon":"139.7798219"}}]}]