2016-03-26 7 views
1

私はGoogle map apiで働いています[ここは私の近くのレストランを見つけることです。 。 。私がこれを実行すると、私は現在の場所だけを取得します。私はレストランのデータに関連する情報を受け取っていません。私の周辺の近くのレストランを見つけるためのGoogle Map API

function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
      center: { lat: 25.276987, lng: 55.296249 }, 
      zoom: 15 
     }); 

     var infoWindow = new google.maps.InfoWindow({ map: map }); 

     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(function (position) { 

       var pos = { 
        lat: position.coords.latitude, 
        lng: position.coords.longitude  
       }; 
       infoWindow.setPosition(pos); 
       infoWindow.setContent('Location found.'); 
       map.setCenter(pos); 
       var marker = new google.maps.Marker({ 
        map: map, 
        position: pos.getPlace().location 
       }); 
       var service = new google.maps.places.PlacesService(map); 
       service.nearbySearch({ 
        location: rak, 
        radius: 5500, 
        type: ['restuarant'] 
       }, callback); 

      }, function() { 
       handleLocationError(true, infoWindow, map.getCenter()); 
      }); 
     } 
     else {    
      handleLocationError(false, infoWindow, map.getCenter()); 
     } 
    } 
+0

イメージへのリンクではなく、ご質問に実際のコードを投稿してください。 – Roberto

+0

親切にコードを確認する –

答えて

5

たぶん、あなたはnearbySearch場所タグでエラーが発生しています。変数rakを開始しておらず、ヌル値を返します。スクリプト

<script 
    src="https://maps.googleapis.com/maps/api/js?key=API_KEY&libraries=places&callback=initMap" 
    async defer></script> 

を設定

var map; 
var infowindow; 
var myPlace = {lat: 25.276987, lng: 55.296249 }; 

あなたnearBySearchコール

​​

がそれぞれ見つかった場所のマーカーを検索した結果を確認し、作成するあなたの変数を初期化

function callback(results, status) { 
      if (status === google.maps.places.PlacesServiceStatus.OK) { 
       for (var i = 0; i < results.length; i++) { 
        createMarker(results[i]); 
       } 
      } 
     } 

function createMarker(place) { 
      var placeLoc = place.geometry.location; 
      var marker = new google.maps.Marker({ 
       map : map, 
       position : place.geometry.location 
      }); 

      google.maps.event.addListener(marker, 'click', function() { 
       infowindow.setContent(place.name); 
       infowindow.open(map, this); 
      }); 
     } 

このコードはdocumentにあります。適切なコーディング方法とAPIの使い方を説明します。 list of supported location typeもここにあります。

こちらがお役に立てば幸いです。

関連する問題