Пользовательские маркеры на листовках не загружаются

StackOverflow https://stackoverflow.com//questions/25020359

  •  21-12-2019
  •  | 
  •  

Вопрос

в листочке мы пытались загрузить на пользовательских маркерах для файла точечного точка Geojson.При использовании маркеров по умолчанию слой загружен в идеальном прекрасном, кроме его длительного времени для загрузки.Однако, когда мы пытаемся изменить маркеры на индивидуальный маркер, используя функцию PointTolayer, весь слой, кажется, исчезает. Вот код для конкретного настроенного маркера:

 var manholeMarkerOptions = {
            radius : 8,
            fillColor : "#ff7800",
            color : "#000",
            weight : 1,
            opacity : 1
        };

        //Creates a variable to grab GeoJSON from GitHub repository and calls the popUpmanholes function to occur on each click.
        var manholes = new L.GeoJSON.AJAX('https://cdn.rawgit.com/alecia-patton/LeafletTest/master/manholes.geojson', {
            onEachFeature : popUpmanholes,
            pointToLayer : function(feature, latlng) {
                return new L.circleMarker(latlng, manholeMarkerOption);
            }
        });
.

А вот ссылка на github:

https://github.com/sambfry/leaft-tests/BLOB / MASTER / LEALLETTESTESTINDEX.HTML

Единственная причина, по которой мы используем Github в качестве CDN для целей тестирования и изменит его, как только мы получим основы вниз.

Это было полезно?

Решение

Для большинства элементов листовки L.Marker является типичным синтаксисом для одного из объектов.Типичный синтаксис составляет

marker = new L.Marker()
.

Другое листовка имеет функцию, которая создает новый маркер для вас.Этот элемент нижний регистр.

marker = L.marker()
.

Это использует «новый» оператор и возвращает новый маркер, который был создан.

Ваша ошибка из

return new L.circleMarker(latlng, options);
.

Это должно быть просто

return L.circleMarker(latlng, options);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top