0
DB에서 가져온 Dispensers 용 마커가있는지도를 만들려고합니다. 필자는이 작업을 성공적으로 수행 할 수 있지만, 마커를 클릭 할 때마다 정보 상자가 항상 동일한 마커 위에 나타납니다. CORRECT 디스펜서의 정보 상자가 맵에서 나타나지만 잘못 표시된 곳을지나갑니다! 이 문제를 겪는 사람이 있습니까? 내 컨트롤러에서지도 작성자가 올바른 정보 상자를 표시하지만 잘못된 마커를 통해
:
def find_map
@location = Location.new
@location.address = params[:location][:address]
@latlon = @location.geocode
@dispensers = Dispenser.near(@latlon)
@numrecords = 0
@lat = []
@long = []
@user_id = []
@dispensers.each do |x|
@lat[@numrecords] = x.latitude
@long[@numrecords] = x.longitude
@user_id[@numrecords] = x.user_id
@numrecords += 1
end
@map = Cartographer::Gmap.new('map')
@map.zoom = :bound
@icon = Cartographer::Gicon.new()
@map.icons << @icon
@count = 0
@numrecords.times do
markername = "marker#{@count}"
markername = Cartographer::Gmarker.new(:name=> "Business", :marker_type => "Building",
:position => [@lat[@count], @long[@count]],
:info_window_url => "/bio/#{@user_id[@count]}", :icon => @icon)
@map.markers << markername
@count += 1
end
내 show.html.erb
<%= raw Cartographer::Header.new.to_s %>
<%= raw @map.to_html %>
<div style="width:350px;height:250px;" id="map" > [Map]</div>