ホ−ム » クラスリファレンス » ZDC.Moyori

ZDC.Moyori

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

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

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

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

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

コンストラクタ

ZDC.Moyori(latlon, options, func)

引数プロパティタイプデフォルト説明
latlon-ZDC.LatLon-緯度経度
optionsmapZDC.Map-表示する地図を指定
iconobject-中心アイコンの指定(ZDC.Markerのコンストラクタのoptions
genrearray(object)-ジャンルオプションのオブジェクトの配列。3ジャンルまで指定可能
maxdisp (※)number3地図に重畳する件数。ルート検索結果の近い順にN件を表示する。上限は10
radiusnumber500検索範囲の半径をメートルで指定。範囲は0〜1000
adjustbooleanfalsetrueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示
ovaloptionsobject-ZDC.Ovalのコンストラクタoptionsを指定できる
func-function-検索後のコールバックメソッド。引数に下記の結果オブジェクトをとる

※ ・・・ 1回の表示につきルート検索が行われる回数は最大で(maxdisp + 2) × genre数

結果オブジェクト

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

メソッド

void setRadius(radius)

円の半径を設定します。

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

void setMaxdisp(maxdisp)

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

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

void setAdjust(adjust)

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

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

void moveLatLon(latlon)

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

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

void searchRouteByUserItem(items, func)

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

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

結果オブジェクト

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

ZDC.Marker getCenterIcon()

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


ZDC.Marker getIconById(id)

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

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

void refresh()

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


関連事項

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

プロパティタイプ説明
codestringジャンルコード
iconobject表示するアイコンの指定(ZDC.Markerのコンストラクタのoptions
linePropertyobject表示するラインの指定(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アイテムオブジェクトの配列がコンストラクタで指定したジャンルコードで取得できる

アイテムオブジェクト

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

POIオブジェクト

プロパティタイプ説明
textstringPOIの名称
codestringPOIのコード
latlonZDC.LatLon代表点緯度経度
kanastring住所文字列のカナ表記
addressTextstring住所文字列
zipcodestring郵便番号
phoneNumberstring電話番号
genreジャンルオブジェクトジャンルオブジェクト

ジャンルオブジェクト

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

プロパティタイプ説明
textstringジャンルコードの説明
countnumberジャンルコード毎の件数

例)

{
    "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}}]}

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

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

検索POIオブジェクト

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

プロパティタイプ説明
latlonZDC.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"}}]}]