0

私は何かを作りたいと思っていました. 要素にクラスを与えるなどのように見えますが、これは最も適切な方法ではないと思います。

iOS Foursquare で Google マップを引き延ばすという非常に興味深い解釈を見ました。会場の情報とそのマップを表示しているときに指をタッチして下にスライドさせたときです。センターはそのままの場所に留まり続け、高さが伸びていきます。

これまでのところ、私は次のようにしました:

$('#map_canvas').click(function() {
    if($( '#content #map_canvas' ).hasClass('small_map')){
        $( '#content #meta' ).hide();
        $( '#content #description' ).hide();
        $( '#content .social' ).hide();

        $( '#content #map_canvas' ).removeClass('small_map');
        $( '#content #map_canvas' ).addClass('large_map');
    }else {
        $( '#content #meta' ).show();
        $( '#content #description' ).show();
        $( '#content .social' ).show();

        $( '#content #map_canvas' ).removeClass('large_map');
        $( '#content #map_canvas' ).addClass('small_map');
    }
    initialize();   
});

...マップをクリックして、すべてを非表示にし、マップの高さを伸ばします。しかし、initialize(); を呼び出さなければならないのは好きではありません。何度も機能して、マップの中心を中心に保ちます。

誰かがあなたのアイデアを共有できますか? :)

ありがとう!

4

1 に答える 1

0

setCenterマップ全体を再初期化するのではなく、次を使用できます。

map.setCenter( pos );

wheremapは Google マップへの参照posであり、最初にマップを設定するときにおそらく設定したのと同じように、位置です。これら 2 つがinitializeスクリプトの外部で使用できることを確認してください。

于 2012-08-21T14:34:59.013 に答える