新人日誌8

Webブラウザ上 に表示したGoogle Mapで検索条件に合致した現在地周辺の場所の情報を取得してみます。

半径5km範囲で検索バーに入力した文字列に関連した場所の情報を検索してみます。

まず、確認用に半径5kmの円を作ります。

var circle5;
var strokeOpacity = 0.8; 
var fillColor5 = '#FF0000'; 
var fillOpacity = 0.35; 
var radius5 = parseInt(parseFloat(5) * 1000);//半径5km

circle5 = new google.maps.Circle({
      strokeColor: '#FF0000',         //円の線の色
      strokeOpacity: strokeOpacity,   //円の線の不透明度
      strokeWeight: 2,                //円の線の太さ
      fillColor: fillColor5,          //円の色
      fillOpacity: fillOpacity,       //円の不透明度
      map: gmap,                      //表示するGoogleMAP
      center: nowPos,                 //中心座標
      radius: radius5                 //半径
    });

次に検索用のサービスを作成します。

var service = new google.maps.places.PlacesService(gmap);

続いて検索用のリクエストを作成します。

var request = {
      location: nowPos, 		//現在地から
      radius: circle5.getRadius(),  //半径5km圏内の
      type: 'store',                //お店を検索
      query: input.val()          //検索窓のキーワードに関連する
    };

このリクエストを先程の検索用のサービスに渡して場所の情報を取得します。

service.nearbySearch(
      request,    //リクエスト
      function (results, status) {//コールバック関数
    //ステータスを確認して,OKであれば
    console.log(status);
        if (status === google.maps.places.PlacesServiceStatus.OK)
        {
        length = results.length;
        console.log(length);
        if (length > 0) {		//結果が1以上なら
          for(var i= 0; i < length; i++)
          {
            var lat = results[i].geometry.location.lat(); //緯度
            var lng = results[i].geometry.location.lng(); //経度
            console.log(results[i].name);                 //名前
            console.log('の座標は');
            console.log('緯度:'+lat+'_経度:'+lng);
            console.log('です。');
            console.log('プレイスIDは');
            console.log(results[i].place_id);		//place_id
            console.log('です。');

          }
        }
      }
      }
);

これで現在地周辺の場所の情報が取得できました。

place_idを使ってさらに詳しい情報も取得できるようです。

水曜担当:Tanaka



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム