タイトルの通りなのですが、textSearchでradiusを指定しても意図した通りの結果が描画されません。
※明らかに指定した範囲を超えての結果が描画されている
こちらの仕様に関して知っている方がいらっしゃいましたらご教示願います
google.maps.event.addDomListener(window, 'load', getLocation); let map; let infowindow; function getLocation() { // 位置情報を取得する navigator.geolocation.getCurrentPosition( function (position) { // 現在地の緯度経度所得 let latitude = position.coords.latitude; let longitude = position.coords.longitude; let latlng = new google.maps.LatLng(latitude, longitude); // 現在地の緯度経度を中心にマップを生成 map = new google.maps.Map(document.getElementById('map'), { center: latlng, zoom: 15 }); let marker = new google.maps.Marker({ position: latlng, map: map, icon: "https://maps.google.com/mapfiles/ms/icons/blue-dot.png", }); //現在地から1キロ以内のレストランを検索 infowindow = new google.maps.InfoWindow(); let service = new google.maps.places.PlacesService(map); let request = { query: 'ラーメン', location: latlng, radius: 500, //1km = 1000 }; service.textSearch(request, callback); }, function (error) { // 失敗時の処理 alert('エラー:' + error); }); } //地図上にマーカーをプロット function callback(results, status) { if (status === google.maps.places.PlacesServiceStatus.OK) { for (let i = 0; i < results.length; i++) { createMarker(results[i]); } } } //地図上のマーカーをクリックした際の動作 function createMarker(place) { let placeLoc = place.geometry.location; let marker = new google.maps.Marker({ map: map, position: place.geometry.location, animation: google.maps.Animation.DROP, }); //吹き出しの中身 google.maps.event.addListener(marker, 'click', function () { infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + '評価: ' + place.rating + '</div>'); infowindow.open(map, this); }); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。