Google Maps JavaScript APIを使用したアプリケーションを開発しています。
数日前からpc(mac)で開くと現在地を取得して、マップを表示されるまでにかなり時間がかかります。
長いと5分くらい経過した後にマップが表示されます。
開発環境、本番環境両方とも同じ症状が出ます。
本番にあげているアプリケーションにスマホからアクセスすると、問題なくすぐ表示されます。
またwindowsのマシンからアクセスした場合もすぐに表示されます。
友人のmacからアクセスしてみると、自分のpcと同じようにかなり時間がかかったため、macでの環境が何か影響しているのかなと思うのですが、、
どなたか原因が分かる方いらっしゃいましたら、よろしくお願い致します。
macOS High Sierra ver 10.13.3
apiのアクセス数は制限を越えておりません。
google api のconsole特にエラーは出ておりません。
▼view.html.erb
<script async defer src="//maps.googleapis.com/maps/api/js?key=apikey&libraries=geometry" type="text/javascript"> </script> <div id="map" > </div>
▼jsコード
//home表示で現在地を取得 var url=location.href; if (url=="https://www.fouru.site/home") { get_current_location() } function get_current_location(){ if(navigator.geolocation){ navigator.geolocation.getCurrentPosition( // success callback function(position) { var latitude = position.coords.latitude var longitude = position.coords.longitude $(".currentLocation").val("現在地再取得"); $("#longitude").val(longitude); $("#latitude").val(latitude); var currentPos ={lat: latitude, lng: longitude }; var map = new google.maps.Map(document.getElementById('map'), { zoom: 15, center: currentPos }); var transitLayer = new google.maps.TransitLayer(); transitLayer.setMap(map); var marker = new google.maps.Marker({ position:currentPos, map: map }); display_radius(map,currentPos) marker.addListener('click', function() { infowindow.open(map, marker); }); }, // error callback function(error) { switch(error.code) { case 1: //PERMISSION_DENIED alert("位置情報の利用が許可されていません"); break; case 2: //POSITION_UNAVAILABLE alert("現在位置が取得できませんでした"); break; case 3: //TIMEOUT alert("タイムアウトになりました"); break; default: alert("その他のエラー(エラーコード:"+error.code+")"); break; } } ) }else{ message = 'ご使用中のブラウザは現在地検索に対応されておりません。' Alert.set('warning', message) }; }