0

私のアプリケーションでは、Google の Google マップ API v3 を使用しています。アドレス パネルを開いたときにマップ コントロールをシフトしたいのですが、マップ上のコントロールを再描画しようとしてもマップ コントロールがシフトしません。Google マップのようにすべてのマップ コントロールをシフトしたい。デモの目的で、https://maps.google.co.in/にアクセスして、ホテルなどを検索し、サイド アドレス パネルを非表示にしてください。マップ コントロールが常にフォームの端からパネルの端に移動することがわかります。マップ コントロールをこのようにシフトしたい。Google マップのようにマップ上でコントロールを移動するための解決策を提供してください。

4

1 に答える 1

0

あなたがしようとすることができるのは、マップmarginの左側に少し追加し、住所パネルを閉じるときにそれを削除しmarginてマップを更新することです.

次のようなものです:

<div id="map" style="width: 400px; height:400px; margin-left:100px"></div>
<a href="#">Expand</a>

<script>
    var map = new google.maps.Map($('#map').get(0));
    map.setCenter(new google.maps.latLng(40.736852, -74.002748));
    map.setZoom(12);

    var o = new google.maps.OverlayView();
    o.draw = function() {}
    o.setMap(map);

    $('a').on('click', function(){
        // Remove margin
        $('#map').css('marginLeft','0px');
        // Get current position in pixels on the map
        var current = o.getProjection().fromLatLngToContainerPixel(map.getCenter());
        // Set position to current - to margin-left.
        map.setCenter(o.getProjection().fromContainerPixelToLatLng({x:current.x - 100, y:current.y}));
    });
</script>
于 2013-08-30T18:21:53.493 に答える