Как автоматически увеличить масштаб для просмотра нескольких маркеров с помощью Google Geocoding API? - PullRequest
0 голосов
/ 02 июля 2019

Я использую Google Geocoding API для создания карты, которая ставит маркеры в зависимости от местоположения, которое запрашивается. На данный момент он автоматически масштабируется для каждого местоположения по отдельности - как я могу использовать подходящие границы, чтобы сделать масштабирование для всех местоположений, например, если сначала вводится Сидней, а затем Лондон, как я могу попросить автоматическое увеличение, чтобы пользователь мог просмотреть оба?

Я очень новичок в этом, поэтому любые советы приветствуются!

Я пробовал много разных способов использования границ, подгонки границ, маркера, длины и т. Д., Но ни один из них не работает или не имеет большого смысла для меня.

function initMap() {
    var map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: 45.1497, lng: 100.0943},
        zoom: 3
    });

    var geocoder = new google.maps.Geocoder()

    var step1 = location.href.split("?")[1].split("=")[1]
    $("#address1").val(step1);
    geocodeAddress1(geocoder, map);

    $(".steps").keypress(function() {
        if (event.which == 13) {
            geocodeAddress(geocoder, map);
        }
    })
};

var labelIndex = 0;

function geocodeAddress1(geocoder, resultsMap) {
    var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

    var address = $("#address1").val();
        geocoder.geocode({'address': address}, function(results, status) {
        if (status === 'OK') {
            resultsMap.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                map: resultsMap,
                label: labels[labelIndex++ % labels.length],
                position: results[0].geometry.location
            });
        } else {
            alert('Search not successful: ' + status);
            }
        })
};

function geocodeAddress(geocoder, resultsMap) {
    var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    var nextstep = "#".concat(event.target.id);
    debugger;
    var address = $(nextstep).val();
        geocoder.geocode({'address': address}, function(results, status) {
        if (status === 'OK') {
            resultsMap.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                map: resultsMap,
                label: labels[labelIndex++ % labels.length],
                position: results[0].geometry.location
            });
        } else {
            alert('Search not successful: ' + status);
            }
        })
};
...