2

これは、マップを起動して機能させるために同僚が書いたコードです。いくつか問題があります。

function mapstart(maptype,streetview,fulladdress){
    streetdisplay = false;
    $(function() {
        addr = fulladdress;
        bool = true;
        $('#'+maptype).gmap3({
            action: 'getLatLng',
            address: fulladdress,
            callback: function(result){
                if (result){
                    $(this).gmap3({action: 'setCenter', args:[ result[0].geometry.location ]});
                    drawmap(maptype,streetview);
                } else {
                    bool = false;
                    alert('Incorrect address so map cannot be drawn !');
                }
            }
        });
         $('#'+maptype).show().gmap3().css('border', '1px solid #000000');
    });
}
function drawmap(temp,tempstreet){
    if(bool == true){
         $('#'+temp).gmap3({
            action: 'addMarker',
            address: addr,
            marker:{},
            map:{
                center: true,
                zoom: 14,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            }
        }); 
        $('#'+tempstreet).click(function(){
            countmap++;
                if (countmap%2 == 0)
                    streetdisplay = false;
                else
                    streetdisplay = true;
             $('#'+temp).gmap3({
                action:'getStreetView',
                callback:function(panorama){
                    var visible = panorama.getVisible();
                    if (visible) {
                        panorama.setVisible(false);
                    } else {
                        var map = $(this).gmap3('get');
                        panorama.setPosition(map.getCenter());
                        panorama.setPov({
                            heading: 265,
                            zoom:1,
                            pitch:0
                        });
                        panorama.setVisible(true);
                    }
                }
            });
        }); 
    } else {
        $('#'+temp).gmap3;
    }
    $('#'+temp).show().gmap3().css('border', '1px solid #000000');
}

ページの別の場所に、現在どのような地図が表示されているかを表示する必要があります。ロードマップとストリートビューを切り替えるボタンがあります。もう 1 つのことは、デフォルトで非表示にする必要がある div にマップをロードしていることです。しかし、mapstart(params) を呼び出すと、マップが表示されます。マップをロードして非表示にし、その div を表示して他の div を非表示にすると表示されるようにします。現在、マップdivを表示するために押すボタンがマップをロードするようにしていますが、ボタンが押されるたびにマップをリロードしたくありません。

4

1 に答える 1

3
$('selector').gmap3({action:'get'}).getMapTypeId()

http://code.google.com/intl/en/apis/maps/documentation/javascript/reference.html#Map

于 2012-03-06T16:48:45.880 に答える