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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google マップ

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

1390閲覧

phpとgoogle maps javascript apiで location.lat is not a function となる理由がわからない

katahaba

総合スコア15

Google API

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google マップ

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/09/07 03:19

編集2018/09/07 03:31

phpでプログラムを初めて3ヶ月くらいの初心者です。
以下のようなviewで中心位置を動かした場合Uploadボタンを押すとPHPのコントローラに中心位置の緯度経度の値が送られる仕組みにしているます。
しかし、center_changedイベントを起こさせずにUploadボタンを押すと、
location.lat is not a functionとコンソールにエラーが出て緯度経度が取得できないようです。

自分はcenter_changedイベントが起きない場合、最初に与えた値
location = {lat:35.681167, lng: 139.767052}; がそのまま使われるかと期待していたのですが、そうならないようです。

なぜでしょうか?
理由と、もしうまい書き方があればご教授お願いいたします。

イメージ説明

<div id="map" style="width:370px;height:370px;"></div> {!! Form::open(['route' => ['microposts.store'], 'method' => 'POST', 'files' => true]) !!} {!! Form::submit('Upload', ['class' => 'btn btn-warning', 'id' => 'button']) !!} {!! Form::hidden('lat') !!} {!! Form::hidden('long') !!} {!! Form::close() !!}
window.onload=function() { var location = {lat:35.681167, lng: 139.767052}; var options = { zoom: 14, center: location, disableDoubleClickZoom: true }; var map = new google.maps.Map(document.getElementById('map'), options); var marker=new google.maps.Marker({position: location,map: map,}); google.maps.event.addListener(map, 'center_changed', function(){ location = map.getCenter(); marker.setPosition(location); console.log(location.lat(),location.lng()); }); $('form').submit(function(){ $('[name="lat"]').val(location.lat()); $('[name="long"]').val(location.lng()); }); }

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/09/07 03:45 編集

どうみても php も laravel も関係なくて javascript かつ jQuery だよねぇ? 質問のタグが不適切だと良くないと思うのだが。
guest

回答2

0

ベストアンサー

console.log(location.lat(),location.lng());
$('form').submit(function(){ $('[name="lat"]').val(location.lat()); $('[name="long"]').val(location.lng()); });

ここ、 lat と lng のあとの () は無いのが正しいです。
() をつけると Function として実行し、表題のエラーとなります。

投稿2018/09/07 03:22

set0gut1

総合スコア2413

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

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

katahaba

2018/09/07 03:27

ありがとうございます。解決できました。初心だとなかなか細かい部分は気がつきにくく、すぐに教えていただけて感謝です。
guest

0

勘違いあったので、回答をなしにしたい。

投稿2018/09/07 03:27

編集2018/09/07 03:29
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問