2

前回、Google マップ クラスタの問題に気付きました。

gmaps4rails プラグインを使用しています (バージョン 0.8.6 と 1.1.5 を試しましたが、両方に問題があります)。

マーカーが 1 つの単純なマップが正しく表示されます。

しかし、10 個のマーカーを取得した場合、マップは表示されません (多くのマーカーが 1 つのクラスターを作成します)。

その問題をfirebugで調べたところ、戻ってきました

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) %>

しかし、同じエラーが発生しました。

その問題の迅速な解決策はありますか??

4

2 に答える 2

1

クイックソリューション。

このファイルをダウンロードします。

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

中に入れて:

public/javascripts/markerclusterer.js

90 行目のコードを次のように変更します。

  var maxZoom = 18; //that.map_.mapTypes[that.map_.getMapTypeId()].maxZoom;

app/views/layouts/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 の場合

 <%= javascript_include_tag "gmaps4rails.js" %>

1.xxの場合

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

その後、次を使用する必要があります。

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

また

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

デフォルトの場所から Google マップの JS ファイルをダウンロードしないようにします。

ソース:

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

ClusterMarkerer - クラスターが表示されない - this.map_.mapTypes[this.map_.getMapTypeId()] は未定義の markerclusterer.js:304

HTH

編集 OK Googleはその問題を修正しましたが、解決策は他の人に任せます。

于 2011-09-23T10:26:05.863 に答える