Google マップ の Place API の検索機能のクラス化に挑戦する第3回です。前回でクラスが出来上がったので、今回はそのクラスを利用してみます。
テストエージェントの作成
第 8 回 に作成したテストエージェントと同様の機能を今回作成した NearBySearch クラスを使用して実現します。
せっかくですから、今回追加した新機能を使ってみましょう。検索結果のすべての地点を順に表示するため、ヒットした件数でループさせ、順に地点情報を取得してみます。
Option Declare Use "lsGoogleMAP" Sub Initialize Dim dLat As Double '緯度 Dim dLng As Double '経度 Dim oLocation As Location Dim oSearch As NearBySearch Dim oPlace As Place Dim i As Integer dLat = 34.683742526906634 dLng = 135.49698067096077 Set oLocation = New Location(dLat, dLng) ' 検索準備 Set oSearch = New NearBySearch(oLocation) oSearch.Keyword = "鳥貴族" ' 検索実行 If oSearch.Search() Then ' すべての検索結果を近い順に表示 For i = 1 To oSearch.Count Set oPlace = oSearch.GetPlace_Nth(i) MsgBox CStr(i) & " 番目に近い店舗 = " & oPlace.PlaceName, 64 Next End If End Sub |
実行すると、検索地点(本町駅)を中心に近い店舗が順に表示されます。大阪には鳥貴族がいっぱいありますね(笑)。
それはさて置き、正しく表示されれば、クラス化は成功です。
後片付け
クラス化作業は終了しましたが、元となったエージェントで不要となった関数が残っていますので掃除します。第 8 回 に作成した関数を含め、次の 4 つの関数が不要ですので削除します。
最終的にライブラリをデザイナーで確認すると、以下のようになります。ずいぶんすっきりしましたね。
なお、この作業を行うと 第 8 回 で作成したテストエージェントは動作しなくなりますのでご了承ください。
前回 | クラス化に挑戦 | 次回 |
0 件のコメント:
コメントを投稿