Получить тип карты Google Map с помощью API - PullRequest
2 голосов
/ 06 марта 2012

Это код, который мой коллега написал, чтобы получить карту и работать. У меня есть несколько вопросов.

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');
}

В другом месте на странице мне нужно показать, какая карта в данный момент. Есть кнопка для нажатия, которая переключается между дорожной картой и видом на улицу. Другое дело, что мы загружаем карту в div, который по умолчанию должен быть скрыт. Но когда мы вызываем mapstart (params), он показывает карту. Мы бы хотели, чтобы карта загружалась и была скрыта, а затем отображалась, когда мы показываем этот div и скрываем другие div. В настоящее время он у меня есть, поэтому кнопка, которую вы нажимаете, чтобы показать div карты, загружает карту, но я бы не стал перезагружать карту каждый раз, когда нажимается кнопка.

1 Ответ

3 голосов
/ 06 марта 2012
...