2017-06-23 11 views
0

が動作しません。次のコードを使用しています。ただし、ユーザーがid = "find"のボタンをクリックすると、マップはユーザーの場所に集中しますが、近くの場所は返されません。私はplacesライブラリとgeolocation APIのコードを混在させていますが、間違っていることはわかりません。Google Maps APIプレイスライブラリでNearbySearchを使用すると、Google Maps APIプレイスライブラリの

助けていただけたら幸いです!

<script> 

    var map, infoWindow; 
    function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat: 51.516401, lng: -0.152218}, 
     zoom: 17 
    }); 
    infoWindow = new google.maps.InfoWindow; 

    $("#find").click(function(){ 

    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.'); 
     infoWindow.open(map); 
     map.setCenter(pos); 

     var pyrmont = new google.maps.LatLng(pos.lat,pos.lng); 

     var request = { 
      location: pyrmont, 
      radius: '1000', 
      query: 'restaurant' 
     }; 

     service = new google.maps.places.PlacesService(map) 

     service.textSearch(request, callback); 


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

     handleLocationError(false, infoWindow, map.getCenter()); 
    } 
    }); 

} 

    function handleLocationError(browserHasGeolocation, infoWindow, pos) { 
    infoWindow.setPosition(pos); 
    infoWindow.setContent(browserHasGeolocation ? 
          'Error: The Geolocation service failed.' : 
          'Error: Your browser doesn\'t support geolocation.'); 
    infoWindow.open(map); 
    } 

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


</script> 
+0

を追加し 'キャッチされないのReferenceError:createMarkerはあなたがcreateMarker関数を定義していませんでした – geocodezip

+1

defined'されていません –

答えて

0

createMarker機能私は投稿のコードでJavaScriptのエラーを取得する

function createMarker(place) { 

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