本文介绍了从标记访问 json 属性 - gmaps4rails的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在升级到 gmaps4rails v2.我似乎无法从 javascript 访问标记 json 属性.这在我使用的先前版本 (1.5.6) 中有效
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)
特别地
在控制器中构建:@users = User.all
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
在 JavaScript 中:
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
谢谢
推荐答案
这确实是新的行为:它不会改变对象,选择权在你.
It is indeed the new behaviour: it doesn't change objects, choice is yours.
你可以这样做:
markers_json = <%=raw @hash.to_json %>;
markers = _.map(markers_json, function(marker_json){
marker = handler.addMarker(marker_json);
_.extend(marker, marker_json);
return marker;
});
这篇关于从标记访问 json 属性 - gmaps4rails的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!