-1
私は最初の市場に移動しようとしていますが、私はそれを動作させることはできません。Googleマップ、関数にマップを渡す
まず、マーカーを1つの配列に格納します。この時点では、最初に必要なのは後で、後はロジック全体を作成します。
var geocoder;
var map;
var markersArray = [];
//Initialization
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 16,
center: {lat: 14.601313, lng: -90.519114},
});
map.addListener('click', function(e) {
placeMarkerAndPanTo(e.latLng, map);
});
}
//Add marker function
function placeMarkerAndPanTo(latLng, map) {
marker = new google.maps.Marker({
position: latLng,
map: map
});
markersArray.push(latLng);
map.panTo(latLng);
}
//Button: click move to the very first marker
$(document).ready(function(){
$('#MyButton').click(function(){
alert("click");
alert(markersArray[0].lat());
map.panTo(markersArray[0].lat(),markersArray[0].lng());
});
});
修正:ここ
がコードである
$(document).ready(function(){
$('#MyButton').click(function(){
if (markersArray.length > 0){
map.setCenter(markersArray[0]);
}
//map.fitBounds(markersArray[0].lat(),markersArray[0].lng());
});
});
は、マップが最初のマーカーにセンタリングされていない、それは私が、アドバイスのためにも感謝を必要とするものです。マップ全体に多くのマーカーを作成する場合、ボタンはマップを画面中央の最初のマーカーに移動する必要があります。 – Crashman
コードにエラーがあります。 'map.panTo()'関数はgoogle.maps.LatLngを2つの数値ではなく引数として取ります。 – geocodezip
私はいくつかの方法でトライしますが、運がありません。 (12.32323、-13.0099877)、この値を使って試してみて、値を分割して、それを動作させることはできません。 – Crashman