0
shop
모델이 있습니다. 맵에서 가게의 마커를 클릭하면 javascript를 사용하여 shop
이름을 표시하는 간단한 경고 상자를 출력하고 싶습니다. 이 JSON을 다루는 첫 시간 그래서 나는 또한 json in javascript 일부 소개 JSON에 대한 기사를 읽었습니다됩니다gmaps4rails : 컨트롤러에서 json 값을 가져 오는 방법은 무엇입니까?
# controller
@json = Shop.all.to_gmaps4rails do |shop, marker|
marker.json({ id: shop.id, name: shop.name })
end
# view
<%= gmaps("map_options" => { auto_zoom: false, zoom: 2, class: "homepage-map" },
"markers" => { data: @json,
options: { do_clustering: true,
clusterer_maxZoom: 11,
raw: "{ animation: google.maps.Animation.DROP }" }
})
%>
<% content_for :scripts do %>
<script type="text/javascript" charset="utf-8">
Gmaps.map.callback = function() {
for (var i = 0; i < this.markers.length; ++i) {
google.maps.event.addListener(Gmaps.map.markers[i].serviceObject, 'click', function() {
alert(put something here);
});
}
};
</script>
<% end %>
:
이 내 코드입니다. 나는 이것이 gmaps4rails로 어떻게 이루어 졌는지 궁금해하고 있었다.
감사 남자, 작동! 그러나 상점에 속한 모든 드레스를 보여주는 것과 같이 약간 복잡한 작업을 수행하는 경우 페이지로드 중 모든 상점에 대해 SQL SELECT 문을 실행하여 크기 조정이 불가능 해집니다. 사용자가 확대/축소를 마쳤 으면 특정 마커 만로드 할 수 있지만 전 세계를 확대/축소 수준 2로 표시하려면이 전략이 작동하지 않습니다. 이에 대한 일반적인 조언이 있습니까? –
보통 마킹을 AJAX (페이지 매김 포함)로로드합니다. – apneadiving
그것은 현재의 스킬 셋 이상입니다. 추측하는 사람을 고용 할 시간 ... –