Я использовал карты Google с одним маркером для моего приложения rails:
<script>
function initMap(lat, lng) {
var myCoords = new google.maps.LatLng(lat, lng);
var mapOptions = {
center: myCoords,
zoom: 14
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
var marker = new google.maps.Marker({
position: myCoords,
map: map
});
}
</script>
<script>
$('#map').prepend(initMap(<%= @location.latitude %>, <%= @location.longitude %>));
</script>
Но как я могу перенести несколько маркеров на карту?
Я пытался, но это не работает:
<% @locations.each do |location| %>
<script>
$('#map').prepend(initMap(<%= location.latitude %>, <%= location.longitude %>));
</script>
<% end %>
Затем я создаю массив:
array = []
@locations.each do |location|
array.push([location.latitude, location.longitude])
end
, который выглядит так:
[[50.0874654, 14.4212535], [49.4447888, 32.0587805], [49.42105565, 32.1004058189433]]
И попробуйте перейти к js:
<script>
$('#map').prepend(initMap(<%= array %>));
</script>
Но это тоже не сработало.