2024/06/07

クラス化に挑戦: #11)Google マップ - Place API の NearBySearch をクラス化 ③

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 件のコメント:

コメントを投稿