「まとめて周辺検索」は、周辺の施設を近い順に検索するクラスです。
このクラスは直線距離ではなく、道のりで最も近い施設を複数検索できます。
※)search.js,shape.jsが必要です。
※)別途、プラグインをインクルードする必要があります。こちらから取得して下さい。
「まとめて周辺検索」は複数の検索を組み合わせています。
検索の種類と回数は下記です。
検索種別 | 回数 |
POI検索 | genre数 |
ルート探索 | (maxdisp + 2) × genre数 |
これらが実行されるタイミングは初期表示時、中心アイコン緯度経度の変更時およびrefreshメソッド実行時です。
実装例
・まとめて周辺検索する
・外部APIで取得するデータを道のり順に表示させる
引数 | プロパティ | タイプ | デフォルト | 説明 |
latlon | - | ZDC.LatLon | - | 緯度経度 |
options | map | ZDC.Map | - | 表示する地図を指定 |
icon | object | - | 中心アイコンの指定(ZDC.Markerのコンストラクタのoptions) | |
genre | array(object) | - | ジャンルオプションのオブジェクトの配列。3ジャンルまで指定可能 | |
maxdisp (※) | number | 3 | 地図に重畳する件数。ルート検索結果の近い順にN件を表示する。上限は10 | |
radius | number | 500 | 検索範囲の半径をメートルで指定。範囲は0~1000 | |
adjust | boolean | false | trueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示 | |
ovaloptions | object | - | ZDC.Ovalのコンストラクタoptionsを指定できる | |
func | - | function | - | 検索後のコールバックメソッド。引数に下記の結果オブジェクトをとる |
※ ・・・ 1回の表示につきルート検索が行われる回数は最大で(maxdisp + 2) × genre数
結果オブジェクト
タイプ | 説明 |
object | ジャンル結果のオブジェクト |
円の半径を設定します。
引数 | タイプ | 説明 |
radius | number | メートル単位の横半径、縦半径 |
地図に重畳する件数を設定します。
引数 | タイプ | 説明 |
maxdisp | number | 地図に重畳する件数 |
trueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示する
引数 | タイプ | 説明 |
adjust | boolean | trueの場合、検索結果が全て表示できる最適な縮尺レベルの地図を表示 |
コンストラクタで指定したマーカオブジェクトを、指定した緯度経度に移動して検索を実行します。
引数 | タイプ | 説明 |
latlon | ZDC.LatLon | 緯度経度 |
指定したオブジェクトを基にルート検索します。
引数 | タイプ | 説明 |
items | array(ジャンル検索オブジェクト) | ジャンル検索オブジェクトの配列。3ジャンルまで指定可能 |
func | function | 検索後のコールバックメソッド。引数に下記の結果オブジェクトをとる |
結果オブジェクト
タイプ | 説明 |
object | ジャンル結果のオブジェクト |
中心アイコンを取得します。
指定したIDに対応するアイコンオブジェクトを取得します。
引数 | タイプ | 説明 |
id | string | 地図上に表示されるアイコンオブジェクトのID |
指定したオプションを地図に反映させて検索を実行します。
プロパティ | タイプ | 説明 |
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オブジェクト |
プロパティ | タイプ | 説明 |
text | string | POIの名称 |
code | string | POIのコード |
latlon | ZDC.LatLon | 代表点の緯度経度 |
kana | string | 住所文字列のカナ表記 |
addressText | string | 住所文字列 |
zipcode | string | 郵便番号 |
phoneNumber | string | 電話番号 |
genre | ジャンルオブジェクト | ジャンルオブジェクト |
ジャンルコードをプロパティとして下記のオブジェクトを取得できる
例)
{ "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) |
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"}}]}]