質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CoffeeScript

CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

0回答

1954閲覧

緯度と経度は取れたが住所が取れない

pecchan

総合スコア555

CoffeeScript

CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

2クリップ

投稿2018/05/31 07:38

編集2018/06/06 01:33

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/05/31 08:24

resultsはどのような内容になっているのでしょうか。
pecchan

2018/05/31 08:27

有難う御座います。alert resultsとしましたが何も表示されませんでした。
pecchan

2018/06/04 02:48

参考URL有難う御座います。consoleでエラー内容が確認出来ました。エラー内容→Uncaught ReferenceError: google is not defined at geo_location.self-e1ccf72571ff5db77b431fff0521cf1c6216148691b5a90a0b091939fb615099.js?body=1:9
anada

2018/06/04 07:27

定義エラーですね。jsの書き順がおかしいとか。私はcoffeescriptはできないのですが、latlng = new (google.maps.LatLng)(35.023186, 135.763792); というように、座標を固定値にしてもダメなんでしょうか?あと、if (status==google.maps.GeocoderStatus.OK) のあとに、結果の件数を表示してみてはどうでしょう。console.log(results.length);みたいに。
x_x

2018/06/05 07:46

2番目のリンクが間違っているので修正してもらえるでしょうか?(.htmlがない)
xenbeat

2018/06/11 20:43 編集

そもそもですが、目的は位置、住所情報を取得してマップに表示する(最終的にはマップに表示するというゴールの途中でつまづいてる)という認識で良いでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問