1

以前は、別の回答の指示に従って、地図上に1つのポイントしかない場合に情報ウィンドウを自動的に開くようにしました。私はこれを機能させていますが、情報ウィンドウを手動で開いたときにマップが再配置されないため(マーカーをクリックして情報ウィンドウを表示した場合のように)、情報ウィンドウの上部がわずかに切り取られています。私の見解は基本的なものを使用しています:

gmaps(:map_options => { :auto_adjust => true },
      :markers => { :data => @json, :options => {:do_clustering => true} })

そして私の見解では次のJavaScript:

<script type="text/javascript" charset="utf-8">
  Gmaps.map.callback = function() {
    if (Gmaps.map.markers.length == 1) {
      var marker = Gmaps.map.markers[0];
      var infowindow = marker.infowindow;
      infowindow.open(Gmaps.map.map, marker.serviceObject);
    }
  }
</script>

私が理解しようとしているのは、ズームレベルを14に設定するだけでなく、マーカーを再設定して、情報ウィンドウ全体が画面に表示され、上部で途切れないようにするための最良の方法です。

同様の問題を抱えているように見えるが、最近の質問は含まれていないこの質問も調べました。私もGmaps.map.map.setZoom(14);を実行できます。コンソール内で、Gmaps.map.map.panBy(0、-80);と同様に実行します。しかし、それらはコールバック内から実行されていないようです。さらに、panByが、情報ウィンドウの切断の問題に対処するための最も効果的な方法であるかどうかはわかりません。

使用: gmaps4rails(1.4.8)およびRails(3.2.3)

誰か考えやアイデアはありますか?

ありがとう!

4

3 に答える 3

1

最終的に結論として、マーカーが1つしかない場合は、専用のヘルパーオプションを使用する必要があります。

グーグルマップの非同期読み込みのため。

于 2012-05-22T16:43:05.610 に答える
0

おそらく、Gmaps.map.mapが廃止されたためですGmaps.map.serviceObjecthttps://github.com/apneadiving/Google-Maps-for-Rails/wiki/Javascript-goodiesを参照)

于 2012-09-22T08:32:24.273 に答える
0

私のアプリケーションでも同様の問題が発生しましたが、解決するために次のことを行いました。

それを試してみてください

1)次のようにmap_option"auto_adjust"をfalseに変更します

gmaps(:map_options => {:auto_adjust => false}、:markers => {:data => @json、:options => {:do_clustering => true}})

2)コールバック関数でmap.setZoom(your value)を呼び出すと、マップがズームされます

于 2013-10-26T12:32:35.650 に答える