以前は、別の回答の指示に従って、地図上に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)
誰か考えやアイデアはありますか?
ありがとう!