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

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

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

Geolocation(ジオロケーション)は、携帯電話やインターネットに接続したコンピューターターミナルなど、オブジェクトの現実世界での地理的位置の情報を扱う技術であり、位置評価の実施や、実際に評価された位置を示す場合もあります。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

1回答

1196閲覧

Laraverlで作成したサイトにスマホでアクセスし、スマホの位置情報を取得したい

old_dog

総合スコア51

Geolocation

Geolocation(ジオロケーション)は、携帯電話やインターネットに接続したコンピューターターミナルなど、オブジェクトの現実世界での地理的位置の情報を扱う技術であり、位置評価の実施や、実際に評価された位置を示す場合もあります。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2019/06/14 22:55

編集2019/06/16 00:43

##問題
スマホで、ローカル環境で自作している位置情報表示サイトにアクセスしても、位置情報を取得できない(geolocationが使えない)

##実現したいこと
ローカル環境で自作している位置情報サイトを、スマホでアクセスできるようにし、かつSSL通信にして、位置情報を取得したい。

##コード
ローカルでxamppを使ってます。

C:\xampp\htdocs\laravelapp\resources\views\alert_location.blade.php

javascript

1<script> 2 navigator.geolocation.getCurrentPosition(function(position){ 3 latitude = position.coords.latitude; 4 alert(latitude); 5 }); 6</script>

'localhost:8000/'(127.0.0.1)でアクセスすると、PCでは位置情報は取得でき、スマホでは接続できません。

このファイルに、スマートホンでアクセスするために、アドレスを以下に変更します。

command

1C:***>laravelapp> php artisan serve --host 19*.16.1*.1** 2Laravel development server started:<http://19*.16*.1*.1**:8000>

ブラウザで、19*.16*.1*.1**:8000/alert_locationにアクセスすると、サイトは表示されますが、位置情報は取得できません。スマホでも同様です。

geolocation.getCurrentPosition()は、SSL通信でないと使えないということなので、19*.16*.1*.1**:8000/alert_locationでのアクセスが、SLL通信になるようにすればいいのかな、と考えているのですが、良い方法が見当たりません。

##一応、試してみたこと
PCのブラウザで、'https://laravelapp'でアクセスできるようにしてみました。
リンク内容 https://www.keycoxs.com/entry/2018/03/29/161052
を参考にさせていただきました。ありがとうございます。

  • C:\xampp\php\php.ini

extension = php opensell.dll //有効化

  • C:\xampp\apache\conf\extra\httpd-ssl.conf

末尾に以下を追加

<VirtualHost *:443> ServerName laravelapp DocumentRoot "C:/xampp/htdocs/laravelapp/public" SSLEngine on SSLCertificateFile "conf/ssl.crt/laravelapp.crt" SSLCertificateKeyFile "conf/ssl.key/laravelapp.key" </VirtualHost>
  • C:\Windows\System32\drivers\etc\hosts

以下を末尾に追加
`19*.16*.1*.1** laravelapp

 

  • C\xampp\apache\conf\opnessl-san.cnf
[ SAN ] subjectAltName = @alt_names [ alt_names ] DNS.1 = laravelapp

以上を行い、証明書を発行しました。

##結果
PCからはhttps://laravelapp/alert_locationで目的とするサイトに接続し、位置情報を取得できましたが、スマホからアクセスすると、「IPアドレスが見つかりませんでした」とエラーになり、接続拒否されます。

どうやったら、ローカルで作成しているサイトに、スマホでアクセスして、位置情報を取得できるようになるのでしょうか?ご教授お願いします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/06/14 23:03

前提が全く伝わってきません。正しい用語を使用して質問してもらえますか?
m.ts10806

2019/06/15 00:58

どうやって公開しているのでしょうか。
old_dog

2019/06/15 01:31

申し訳ありません。自身でも分かっていないことがおおくて、一度整理してから再度質問させてください。
old_dog

2019/06/16 00:41

時間がかかりましたが、色々修正しました。よろしくお願いします。 ローカル環境で作った位置情報取得サイトに、ローカル環境でスマホで接続したいと考えてます(これで回答になっているでしょうか?)。
guest

回答1

0

整理して再質問したら、再質問を削除し、元の質問を更新するようアドバイスがあったので、こちらの質問を修正します

投稿2019/06/15 07:56

編集2019/06/15 22:25
old_dog

総合スコア51

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問