Accessing json attributes from marker - gmaps4rails

两盒软妹~` 提交于 2019-12-07 14:42:45

问题


I'm upgrading to gmaps4rails v2. I can't seem to access the marker json attributes from javascript. This worked in the previous version I was using (1.5.6)

Specifically

Buidling in controller: @users = User.all

@hash = Gmaps4rails.build_markers(@users) do |user, marker|
  marker.lat user.latitude
  marker.lng user.longitude
  marker.json({link: "someurl", current: true})
end

And in javascript:

handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
  markers = handler.addMarkers(<%=raw @hash.to_json %>);
  console.log(markers[0].link);
  console.log(markers[1].current);
  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();
});

>undefined
>undefined

Thanks


回答1:


It is indeed the new behaviour: it doesn't change objects, choice is yours.

You could do:

markers_json = <%=raw @hash.to_json %>;
markers = _.map(markers_json, function(marker_json){
  marker = handler.addMarker(marker_json);
  _.extend(marker, marker_json);
  return marker;
});


来源:https://stackoverflow.com/questions/19766343/accessing-json-attributes-from-marker-gmaps4rails

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!