###前提・実現したいこと
前半のlatitudeとlongitudeで定義した緯度経度を、
後半のmap.panTo内の●●●●に代入したいと考えています。
方法をお教えいただければ幸いです。
###問題
panToを使うと良さそうだというところまでは分かりましたが、
panToでlatlngを呼び出そうとすると動作せず、困っています。
なお、以下のように緯度経度を直接打ち込むと正しく動作します。
map.panTo(new google.maps.LatLng(35.681304, 139.766052));
また、HTMLのonclickを"onDeviceReady()"にしてしまうことで、
マップをリロードさせて現在地に戻すという方法も考えましたが、
この方法あまり良い方法ではないような気がします。
不勉強で申し訳ありませんが、実現方法をご教授ください。
###ソースコード
▼HTML
<div id="map_canvas"></div> <div onclick="toMarker()"></div>
▼Javascript
<script> var map = null; // 地図オブジェクト $(function(){ $(document).on('deviceready', onDeviceReady); }); function onDeviceReady() { // GPS センサーにアクセスして現在位置情報を取得する navigator.geolocation.getCurrentPosition(onSuccess, onError); } // 現在地の取得に成功した場合に呼び出される関数 function onSuccess(position){ // position に含まれる緯度経度情報を取得 var latitude = position.coords.latitude; var longitude = position.coords.longitude; console.log('緯度: ' + latitude); console.log('経度: ' + longitude); // 緯度経度情報を元にLatLngオブジェクトを作成 var latlng = new google.maps.LatLng(latitude, longitude); createMap(latlng); } // 現在地の取得に失敗した場合に呼び出される関数 function onError(error){ alert(error.message); } // 地図を作成する関数 function createMap(latlng) { // 地図のオプション var mapOption = { zoom: 14, // ズームレベル center: latlng, // 現在の緯度経度を地図のセンターにする mapTypeId: google.maps.MapTypeId.ROADMAP, // 地図のタイプ }; // Mapオブジェクトを作成 map = new google.maps.Map($('#map_canvas').get(0), mapOption); // 現在地マーカーの作成 var marker = new google.maps.Marker({ position: latlng, map: map }); } // 現在地へ戻る function toMarker() { map.panTo(new google.maps.LatLng(●●●●)); } </script>
###補足情報
・Monacaを利用
・公式サンプル(https://ja.monaca.io/book/support/)の8-1地図アプリをカスタマイズ
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/28 03:33