Так что я действительно очень стараюсь здесь, но не могу заставить это работать самостоятельно.
Я создал gmap в своем веб-приложении. Это показывает компании из моей базы данных на карте с красными маркерами.
Теперь я хочу добавить список событий к каждому маркеру, чтобы каждый раз, когда пользователь щелкает маркер, в списке справа от карты отображается только эта компания.
Я использовал драгоценный геокодер. Вот код на мой взгляд, который создает карту:
<div
id="map"
style="width: 100%;
height: 600px;"
data-markers="<%= @markers.to_json %>"
></div>
А вот и мой файл карты:
import GMaps from 'gmaps/gmaps.js';
const mapElement = document.getElementById('map');
if (mapElement) { // don't try to build a map if there's no div#map to
inject in
const map = new GMaps({ el: '#map', lat: 0, lng: 0 });
const markers = JSON.parse(mapElement.dataset.markers);
map.addMarkers(markers);
if (markers.length === 0) {
map.setZoom(2);
} else if (markers.length === 1) {
map.setCenter(markers[0].lat, markers[0].lng);
map.setZoom(14);
} else {
map.fitLatLngBounds(markers);
}
markers.clickable
}
import { autocomplete } from '../components/autocomplete';
// [...]
autocomplete();
Так что я довольно плохо справляюсь с Javascript, но я проверил свою страницу и обнаружил, что у каждого маркера есть свой «тег», называемый «usemap», за которым следует gmimap и номер компании в моей базе данных.
Я пытался все, чтобы выбрать эту «карту использования», но либо я слишком глуп, чтобы выбрать ее, либо она не работает таким образом, поскольку Javascript не может получить эту информацию оттуда.
Действительно надеюсь, что у кого-то есть простое решение здесь ..
Заранее спасибо