2014-09-04 3 views
0

지도가로드 된 후 레일스 앱에서 Ajax 호출을하고지도 봉투 안에있는 관심 장소를 다시 방문합니다. 해당 관심 지점을지도에 표시하고 싶지만 표식을 추가 한 결과로지도를 움직이는 것을 원하지는 않습니다. 표식이 서로 너무 가까우면 클러스터링을 원합니다.지도가로드 된 후 Gmaps4rails v2를 사용하여 마커 추가 및 업데이트

두 번째로, 내 앱에서 (같은지도 범위 내에서) 더 많은 관심 지점을 (Ajax-back 버튼으로)로드 할 수 있으며,이 새로운 점을지도에 추가하고 싶습니다. 기존의 것 외에도 - 이전과 같이 너무 가깝다면 서로 서로 (이전과 새로운) 클러스터되어야합니다. 나는 (이 글을 쓰는 시점에서 v2) Gmaps4Rails '코드베이스에서 replace_markers 또는 replaceMarkers에 대한 참조를 볼 수 없지만

나는 Gmaps4Rails.replace_markers(newItemData);Gmaps.map.replaceMarkers(markers) 같은 것을 보았다. 또한 handler.bounds.extendWith(markers); handler.fitMapToBounds();은지도가 움직이는 것처럼 보이기 때문에 저에게는 적합하지 않다고 생각합니다.

Gmaps4Rails v2으로 이러한 작업을 어떻게해야합니까? (필요하다면 클러스터)

  • (필요하다면 기존 및 새로운 클러스터)

답변

1

doc here을 확인지도를 이동하지 않고 더 마커를 추가 할지도를 이동하지 않고 마커를 추가

당신은 할 수 있습니다 :

var markers = handler.addMarkers(json_array) 
var marker = handler.addMarker(json) 

handler.removeMarkers(markers) 
handler.removeMarker(marker) 

read the source이라면 클러스터러를 처리하는 것을 볼 수 있습니다.

+0

정말 대단합니다. 고맙습니다. – user664833

+0

마커에 전역 변수를 사용하는 것을 잊지 마십시오. Gmaps.markers = handler.addMarkers (<% = raw @ hash.to_json %>); –