【Salesforce】地理位置情報項目を使って周辺検索 | 営業管理ツールのUPWARD(アップワード)

営業管理ツール > ブログ > 【Salesforce】地理位置情報項目を使って周辺検索

BLOGブログ

【Salesforce】地理位置情報項目を使って周辺検索

こんにちは、いつもUPWARDブログをご覧頂きましてありがとうございます。

まもなく、Salesforce Spring’16がリリースされますが、「位置情報に基づくSOQLクエリでのDISTANCE()サポート」がはじまるようです。リリースノートには、以下のように記載されていました。

位置情報に基づく SOQL クエリでの DISTANCE() サポート
DISTANCE 関数が位置情報に基づくクエリでサポートされるようになりました。DISTANCE() を、位置情報項目および住所項目に使用できます。特定の距離 (たとえば、取引先責任者の所在地から店舗まで) を取得してユーザに表示できます。
以下に例を示します。

開発者向けの内容ですが、こんなことが数行のプログラムでできるようになったということを簡単に試したいと思います。
分かりにくいかもしれませんが、取引先の画面で周辺の距離を指定した範囲内にある他の取引先とそこまでの距離を一覧で表示しています。なお、この位置情報を利用した処理を行うためには、緯度・経度情報が必要になります。

まずは、簡単に検索をするためのクラスを作成します。

次に、表示用のVisualforceページを作成します。

簡単に解説をしていきます。
まず、距離を含めた検索をしているSOQLは以下のようになっています。対象となっている取引先からの距離を取得しつつ、
一定の範囲内のものを距離順で並び替えています。

また、DISTANCE関数を利用した取得結果を利用するために、今回は拡張クラスを作成しました。のちほど、Mapコンポーネントで利用するために、位置情報の値をMapにセットしています。

次にVisualforce側ですが、取得した結果をリストで表示している部分は、以下のように簡単にリストアップしています。

リストで表示するだけでは、面白みがなかったので、地図コンポーネントを利用して、検索結果を地図上にポイント表示されるようにしています。MapMarkerには住所文字列で渡した場合、10件までしか表示されない制約がありますので、取引先に保持させていてる緯度・経度項目を利用しています。

StandardControllerとしてAccountを指定していますので、ページレイアウトから今回作成したVisualforceページを追加することで取引先の画面に周辺検索の機能を追加することができました。

リストビューからも、特定の緯度・経度からの距離を利用した絞込を行うことができるようになりましたが、緯度・経度を直接扱う機会はあまりないと思いますので、プログラムを作成することなく、手軽に地図上で取引先等を調べたりしたい場合には、弊社の「UPWARD」をご利用ください。

UPWARDを使えば、ノンプログラミングでここまでできます。

  • このエントリーをはてなブックマークに追加
  • Pocket

tag:

関連記事

ご不明な点はお気軽にお問い合わせください。
お急ぎの方は、下記フリーダイヤルよりお電話ください。

※ 受付時間: 10:00〜17:00(土日祝を除く)

0800-800-5092

(UPWARD専用フリーダイヤル)

Page TOP