2014-11-27 4 views
0

Как я могу поместить маркер в текущий центр карты, нажав кнопку?API Карт Google: поместите маркер на текущее местоположение карты

В настоящее время у меня есть такой маркер, который размещается на определенной широте и долготе (53.41291, -8.243889999999965). Но я хотел бы, чтобы он был помещен в текущий центр карты.

Вот мой Javascript, как это:

var latlng = new google.maps.LatLng(53.41291, -8.243889999999965) ; 

var infowindow = new google.maps.InfoWindow({ 
    content: 'This is a place' 
    }); 

function addmarker(latilongi) { 
    var marker = new google.maps.Marker({ 
     position: latilongi, 
     title: 'new marker', 
     draggable: true, 
     map: map 
    }); 
    map.setCenter(marker.getPosition()) 
    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.open(map,marker); 
    }); 
} 


$('#addPoint').on('click', function() { 
    addmarker(latlng) 
}) 
+2

Это неясно, хотите ли вы маркер, на который нажата мышь или в центре карты (вы упомянули оба). Для последнего, посмотрел ли вы на 'map.getCenter()'? https://developers.google.com/maps/documentation/javascript/reference#Map – vch

+0

Да, сначала я хотел бы установить его в центр карты одним нажатием кнопки, но также хотел бы иметь возможность разместить маркер, на который нажимается мышь. – Stephen

+1

Ну, вот пример, который, по-видимому, касается этого: https://developers.google.com/maps/documentation/javascript/events – vch

ответ

1

Вы хотите отцентрировать маркер на центре карты?

function addmarker() { 
    var marker = new google.maps.Marker({ 
     position: map.getCenter(), 
     title: 'new marker', 
     draggable: true, 
     map: map 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.open(map,marker); 
    }); 
} 

Если вы хотите, чтобы иметь возможность нажать на карту, и добавить маркер (и, вероятно, то, следуя тому же правилу, центрировать карту на этой позиции) ...

google.maps.event.addListener(map, 'click', function(event) { 
    map.setCenter(event.latLng); 
    addmarker(); 
}); 
Смежные вопросы