Rails Geocoder Gem /如何使gmap上的标记可点击

时间:2018-11-01 14:38:54

标签: javascript ruby-on-rails ruby google-maps geocoder

所以我在这里真的很努力,但是不能让它自己工作。

我在Web应用程序上创建了一个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和数据库中的公司编号。

我尽一切努力选择了这个“ usemap”,但是要么我太笨了,要么无法选择它,因为Javascript无法从那里获取此信息。

真的希望有人在这里有一个简单的解决方案。 预先谢谢你

0 个答案:

没有答案