Добавить несколько маркеров на карту рельсов
Я реализовал карты Google на своем веб-приложении ruby on rails. Я отображаю карту очень хорошо, и я также могу разместить маркеры очень хорошо. Моя проблема в том, что у меня есть 2 функции JavaScript, которые обновляют карту и удаляют маркер на карте. Я хочу иметь возможность сохранить текущую карту и просто добавить еще один маркер на карту с моими функциями. Как остановить обновление карты, чтобы отображалось более 1 маркера?
// application.js
var map;
function initMap() {
var lat=29.732585;
var lng=-95.462830;
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 29.7604, lng: -95.3698},
zoom: 10.25,
});
var marker = new google.maps.Marker({
position: {lat:29.732585,lng:-95.462830},
map: map
});
}
function getEmployee() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 29.7604, lng: -95.3698},
zoom: 10.25,
});
var marker = new google.maps.Marker({
position: {lat:29.7154,lng:-95.3893},
map: map
});
}
function getLocation() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 29.7604, lng: -95.3698},
zoom: 10.25,
});
var marker = new google.maps.Marker({
position: {lat:29.7560,lng:-95.3573},
map: map
});
}
1 ответ
При звонке getEmployee()
или же getLocation()
Вы воссоздаете карту, позвонив new google.maps.Map
, Вот почему ваша карта обновляется при каждом вызове.
Просто удалите эту карту, воссоздав из этих двух функций. Вы создаете карту на initMap()
вызвать и сохранить его в глобальной переменной map
так что его можно использовать в getEmployee()
а также getLocation()
где вы создаете маркер.