2013-11-27 3 views
0

this example 다음에 Gmaps4rails gem을 사용하여 마커 드래그 기능을 구현하려고하지만 정의되지 않은 "Gmaps.map"객체를 사용하는 데 문제가 있습니다. 드래그 가능한 마커를 처리하기 위해지도에 대한 콜백을 추가합니다.gmaps4rails v2.0.3 - Gmaps.map가 정의되지 않았습니다.

지금지도가 올바르게 표시되지만 끌기 부분에 붙어 있습니다. 뷰

@locations = Location.all 
@hash = Gmaps4rails.build_markers(@locations) do |location, marker| 
    marker.lat location.latitude 
    marker.lng location.longitude 
end 

: 다음 JS에서

= content_for :scripts do 
    = javascript_include_tag "//maps.google.com/maps/api/js?v=3.13&sensor=false&libraries=geometry" 
    = javascript_include_tag '//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js' 
    = javascript_include_tag "/assets/custom_scripts/map_scripts.js" 

%div{ :style => 'width: 800px;' } 
#map{ :style => 'width: 800px; height: 400px;' } 

:javascript 
    createMap(#{raw @hash.to_json }); 

I '가 gmaps4rails', '2.0.3'

사용하고

는 I 컨트롤러에 마커를 생성 :

function createMap(items){ 
    var handler = Gmaps.build('Google'); 
    handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){ 
    markers = handler.addMarkers(items); 
    handler.bounds.extendWith(markers); 
    handler.fitMapToBounds(); 
    }); 
} 

저는 아닙니다. 확실히 그들은 여전히 ​​

<%= gmaps("markers" => {"data" => @json, "options" => { "draggable" => true } }) %> 

을 사용하고 내가 "GMAP"기능이 Gmaps4rails V2

나는 GitHub의 페이지에 문제를 제출하는 것
+0

v1 및 v2를 혼용하는지 확인합니다. 읽어보기 또는 비디오보기 – apneadiving

답변

3

지도 개체가 이제 처리기에 연결됩니다.

  • handler.map은 JS 프록시가 보석이지도를 처리하기 위해 구축하고
  • handler.map.getServiceObject() 프록시는
객체에서 구글 개체를 얻을 수있는 규범 인 구글 맵 오브젝트를 검색하면
  • handler.getMap()을 사용자 정의 할 수있는 객체 검색

    이제 콜백은 buildMap에 전달하는 함수입니다.

    너는 markers var에 모든 마커가 있습니다. 당신이 당신의 마커에 옵션을 전달하려는 경우, markers[0].getServiceObject()

    두 번째 인수로 추가 :

    handler.addMarkers(items, options); 
    

    문서 코드에 내, 당신이하고있는 구글 마커 개체에 액세스 할 수 있도록 그들은 규범에 따라 작성자 : see here

  • +0

    정보를 제공해 주셔서 감사합니다. – Humphryman

    +0

    마커 추가 기능에 draggable 옵션을 전달할 때 제대로 작동하지만 마커 이미지가 늘어나서 표시됩니다. 일반 마커 이미지 크기를 유지하기 위해 다른 것을 추가해야합니까? – Humphryman

    +0

    의사를 참조하십시오. 사진 크기를 더 잘 표현할 수 있습니다. – apneadiving

    1

    에서 더 이상 사용되지 않는 것을 읽을 수 있기 때문에이 문서는 오래된 경우 :

    https://github.com/apneadiving/Google-Maps-for-Rails/issues

    REPO가 활발하게 유지되는 것처럼, 그래서 나는 REPO 소유자가 자신의 위키 페이지의 일부를 업데이트 상관 없어 확신 보인다.

    즉,보기 도우미 메서드에 대한 필요성이 DOM 요소를 통해지도를 첨부하여 대체되었으므로 도우미 메서드가 전혀 필요하지 않을 수 있습니다. 즉, 샘플 소스 코드에서 해당 행을 삭제하면 예상대로 작동 할 것입니다.