Rails5/coffee scriptです。
APIを利用して住所を取得したく以下のURLを参考にしました。
Geolocation APIでPCやスマホの位置情報を取得する
Geolocation APIとGoogle Maps APIを合わせて住所を取得
上記を参考に、緯度と経度までは取得できたのですが、Google Maps APIを利用して住所を取得することが出来ません。
特にエラーは表示されませんでした。
どこが原因でしょうか?
宜しくお願い致します。
coffee
1@getLocation = () -> 2 navigator.geolocation.getCurrentPosition ((position) -> 3 value = '緯度:' + position.coords.latitude + ',経度' + position.coords.longitude 4 if document.getElementById('geo_location') != null 5 document.getElementById('geo_location').innerHTML = value 6 geocoder = new (google.maps.Geocoder) 7 data = position.coords 8 lat = data.latitude 9 lng = data.longitude 10 latlng = new (google.maps.LatLng)(lat, lng) 11 geocoder.geocode { 'latLng': latlng }, (results, status) -> 12 if status == google.maps.GeocoderStatus.OK 13 document.getElementById('address').innerHTML = results[0].formatted_address 14 else 15 alert 'エラー' + status 16 return 17 return 18 ), (error) -> 19 switch error.code 20 when 1 21 #PERMISSION_DENIED 22 alert '位置情報の利用が許可されていません' 23 when 2 24 #POSITION_UNAVAILABLE 25 alert '現在位置が取得できませんでした' 26 when 3 27 #TIMEOUT 28 alert 'タイムアウトになりました' 29 else 30 alert 'その他のエラー(エラーコード:' + error.code + ')' 31 break 32 return 33 return 34 35 36setInterval getLocation, 1000
html
1<html> 2 <body> 3 <span id="geo_location"></span> 4 <span id="address"></span> 5 </body> 6</html>
2018/05/31 追記:指摘につきresultsの内容をデバッグしてみました
geocoder.geocode { 'latLng': latlng }, (results, status) の後に
1行追加
coffee
1geocoder.geocode { 'latLng': latlng }, (results, status) -> 2#何も表示されない 3alert results 4コード
2018/06/04 追記:consoloeを使ってresultsの内容をデバッグ
coffee
1geocoder.geocode { 'latLng': latlng }, (results, status) -> 2#debug 3console.log(results) 4コード
application.html.erbには、APIキーも設定しています。
ruby
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <script src="https://maps.googleapis.com/maps/api/js?key=ここにAPIキー"></script> 5</head> 6
あなたの回答
tips
プレビュー