前提
leafletマップにて「東京タワー」と「東京駅」にピンを打ち、ページを開いたときは東京タワーが中心に表示されるようにプログラムを組みました。このとき「東京駅」のピンをクリックするとpanToメソッドで地図の中心が東京駅に移動するようにしています。
実現したいこと
地図の下に「東京駅に移動」のボタンを設置し、押したら同様に中心が東京駅に移動するようにしたいです。
発生している問題・エラーメッセージ
ピンをクリックしたとき同様移動できるかと思ったらボタンを押しても反応せず... html初心者でpanToメソッドも数時間前に知ったのですが使い方が間違っているでしょうか? 正しい記述を教えていただけると助かります。
該当のソースコード
<html> <head> <meta charset="UTF-8"> <title>panTo</title> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.0/dist/leaflet.css" /> <script src="https://unpkg.com/leaflet@1.3.0/dist/leaflet.js"></script> <script> function init() { //地図を表示するdiv要素のidを設定 var map = L.map('mapcontainer'); //地図の中心とズームレベルを指定 map.setView([35.65, 139.74], 13); //表示するタイルレイヤのURLとAttributionコントロールの記述を設定して、地図に追加する L.tileLayer('http://tile.openstreetmap.jp/{z}/{x}/{y}.png',{ attribution: "<a href='http://osm.org/copyright' target='_blank'>OpenStreetMap</a> contributors" }).addTo(map); L.marker([35.65, 139.74]).bindPopup('東京タワー').addTo(map); L.marker([35.68, 139.76]).bindPopup('東京駅').on('click', function(){map.panTo(new L.LatLng(35.68,139.76),14);}).addTo(map); } </script> </head> <body onload="init()"> <div id="mapcontainer" style="width:600px;height:600px"></div> <button id="button1" onclick="move()">東京駅へ移動</button> <script> function move() { map.panTo(new L.LatLng(35.68, 139.76),14); } </script> </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。