Изменилась сеть, теперь мои маркеры не отображаются.В чем может быть проблема? - PullRequest
0 голосов
/ 22 декабря 2018

Я получил карту для отображения маркеров на основе JSON, запрошенного из API.У меня были пользовательские значки маркеров, и я уже собирался начать использовать API матрицы расстояний Google, когда мне пришлось переехать к родителям на Рождество.Внезапно, когда я захожу на свою веб-страницу, чтобы проверить, что мой код в порядке, на странице не отображаются маркеры.В консоли также нет ошибок!

Может ли это быть причиной изменения сети, вызвавшей проблему?Карта Google отображается правильно, но не маркеры.

var map;
var infowindow;

function initMap() {
    map = new google.maps.Map(document.getElementById('map'), {
        center: {
            lat: 54.97328,
            lng: -1.61396
        },
        zoom: 11
    });
}


for (var j = 1; j < 5; j++) {
    console.log(j);
    (function (j) { // protects i in an immediately called function
        $.getJSON('https://cors-anywhere.herokuapp.com/http://ratings.food.gov.uk/enhanced-search/en-GB/%5E/Newcastle%20Upon%20Tyne/Relevance/0/%5E/Equal' + (j) + '/0/1/5/json', function (data) {
        console.log(data);


        for (var i = 0; i < data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail.length; i++) {
            console.log(j);

            infowindow = new google.maps.InfoWindow({
                size: new google.maps.Size(50, 50) // too small 
            });


            var establishmentInfo = "<b>Restaurant Name</b><p>" + data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].BusinessName + "</p><b>Address</b><p>" + data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].AddressLine1 + "<br>" + data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].AddressLine2 + "<br>" + data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].AddressLine3 + "<br>" + data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].PostCode + "</p>";



            var image = "./images/" + (i + 1) + "marker.png";
            console.log(image);
            var marker = new google.maps.Marker({
                position: new google.maps.LatLng(data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].Geocode.Latitude, data.FHRSEstablishment.EstablishmentCollection.EstablishmentDetail[i].Geocode.Longitude),
                title: "Place " + i,
                animation: google.maps.Animation.DROP,
                icon: image
            });

            marker.setMap(map);

            makeInfoWindow(marker, establishmentInfo); 

        }
    });
})(j);
}

function makeInfoWindow(marker, content) {
google.maps.event.addListener(marker, 'click', function () {
    infowindow.setContent(content);
    infowindow.open(map, marker);
});
}

1 Ответ

0 голосов
/ 24 декабря 2018

Оказывается, я использовал V1 API FHRS.С тех пор это устарело, и необходимо использовать V2.

Вы можете найти всю информацию здесь: http://api.ratings.food.gov.uk/help

...