2011-09-21 3 views
2

지난 번 Google지도 클러스터에 문제가 있음을 확인했습니다.레일, gmaps4rails 클러스터 문제

gmaps4rails 플러그인을 사용합니다 (버전 0.8.6 및 1.1.5를 사용해 보았는데 모두 문제 있음).

하나의 마커가있는 단순지도가 올바르게 표시됩니다.

그러나 10 개의 마커가있는 경우지도가 표시되지 않습니다 (많은 마커가 하나의 클러스터를 만듭니다).

내가 불을 지르고와 그 문제를 조사하고

e.b.mapTypes[e.b.getMapTypeId()] is undefined 

이 오류를 반환하는 파일입니다 -

https://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/src/markerclusterer_compiled.js이 또한 내가 옵션

<%= gmaps({"markers" => { "data" => @json }, "map_options" => {"do_clustering" => false}}, true, true) %> 

를 클러스터링을 사용하지 않도록 노력하지만 내가 가진> 같은 오류.

이 문제에 대한 빠른 해결책이 있습니까?

+0

정말 미안하지만 나는 그 질문을 이해하지 못합니다 : 하나의지도 + 10 개 마커의 문제점은 무엇입니까? 클러스터링을 비활성화 할 때의 문제점은 무엇입니까? – apneadiving

+0

예 하나의지도와 10 개의 마커에 문제가 있습니다. 클러스터링을 비활성화하면 같은 오류가 발생합니다. Google지도 api 마지막 커밋은 '악의적 인 것'처럼 보입니다. :) –

+0

무엇이 오류입니까? :) – apneadiving

답변

1

이것은 Google의 업데이트로 인해 호환되지 않습니다.

이제 괜찮습니다.

1

빠른 해결책.

이 파일을 다운로드 :

http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/src/markerclusterer.js

에 넣어 :

공공/자바 스크립트/markerclusterer.js

그리고

var maxZoom = 18; //that.map_.mapTypes[that.map_.getMapTypeId()].maxZoom; 
에 라인 90에서 변경 코드

에 파일 포함 당신이 사용해야하는

<%= javascript_include_tag "gmaps4rails.js" %> 

그 후 1.xx에는

<%= javascript_include_tag "gmaps4rails.base.js" %> 
<%= javascript_include_tag "gmaps4rails.googlemaps.js" %> 

에 대한 응용 프로그램/뷰/레이아웃/applications.html.erb

<%= javascript_include_tag "https://maps.google.com/maps/api/js?sensor=false&libraries=geometry" %> 
<%= javascript_include_tag "markerclusterer_compiled.js" %> 

및 대한 0.8.x :

<%= gmaps4rails(@json, true, false) %> 

또는

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

Google은 JS 파일을 기본 위치에서 다운로드하지 않습니다.

출처 :

https://github.com/apneadiving/Google-Maps-for-Rails/wiki/View-helper

ClusterMarkerer - no cluster appear - this.map_.mapTypes[this.map_.getMapTypeId()] is undefined markerclusterer.js:304

HTH

편집 좋아 Google은 문제를 해결,하지만 난 다른 사람에 대한 솔루션을 떠날 것이다.