Как отобразить текст (не значок) на карте, используя слой данных карты Google и файл geoJson? - PullRequest
0 голосов
/ 12 октября 2018

Я могу показать маркер / значки, используя слой данных карты Google и файл (ы) geoJson.Но вместо значков можно ли показать текст (в определенном месте на карте)?Он не должен быть частью InfoWindow.Я ищу что-то вроде Sample

Я пробовал использовать 'title', но это просто метка, отображаемая при наведении курсора на иконку.Пожалуйста, помогите.

gmap.addListener('zoom_changed', function () {
    var gmapZoom = gmap.GetZoom();
    if (gmapZoom >= 0 && gmapZoom <= 21)
    {
        if (bJSONLoaded === false)
        {
            var setDataStyle = function (feature) {
                var status = feature.getProperty('status');
                switch (status) {
                    case "Active":
                        return {
                            icon: 'http://maps.google.com/mapfiles/ms/icons/green-dot.png',
                            title: 'test 1'
                        };
                    case "Pending":
                        return {
                            icon: 'http://maps.google.com/mapfiles/ms/icons/orange-dot.png'
                        };
                }
            };

            pendingJSON.loadGeoJson('http://url/GoogleTestPending.json');
            pendingJSON.setStyle(setDataStyle);
            pendingJSON.setMap(gmap);
            activeJSON.loadGeoJson('http://url/GoogleTestActive.json');
            activeJSON.setStyle(setDataStyle);
            activeJSON.setMap(gmap);

            bJSONLoaded = true;
        }
        else
        {
            if (!testJSON.getMap()) {
                console.log('setting map');
                pendingJSON.setMap(gmap);
                activeJSON.setMap(gmap);
                testJSON.setMap(gmap);
            }
        }
    }
    else
    {
        if (bJSONLoaded === true && testJSON.getMap() != null)
        {
            //remove pins
            pendingJSON.setMap(null);
            activeJSON.setMap(null);
            testJSON.setMap(null);
        }
    }
});

1 Ответ

0 голосов
/ 13 октября 2018

Решено с помощью OverlayView.

customEntity.prototype = new google.maps.OverlayView ();

А затем реализованы необходимые функции, такие как draw, onAdd, onRemove и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...