У меня есть этот код, который загружает все маркеры на карте
<script>
var my_json;
var icono;
var map = L.map('map').setView([-24.376224,-65.1149885], 14);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors'
}).addTo(map);
В feature.geometry.distancia я получаю значок, который мне нужно показать. Если это smallicon или yellow
var smallIcon = new L.Icon({
iconUrl: 'img/marker-icon-blue.png',
iconRetinaUrl: 'img/marker-icon-2x-blue.png',
});
var yellow = new L.Icon({
iconUrl: 'img/marker-icon-yellow.png',
iconRetinaUrl: 'img/marker-icon-2x-yellow.png',
});
Здесь я могу получить значение из feature.geometry.distancia и поместить его в переменную.
function onEachFeature(feature, layer) {
//console.log(feature);
var empleado="<p><strong>"+feature.properties.empleado+"</strong><br>";
var fecha=feature.properties.fecha+"<br>";
var hora=feature.properties.hora+"</p>";
icono=feature.geometry.distancia;
var popupT=empleado.concat(fecha,hora);
layer.bindPopup(popupT);
}
Я получаю информацию из phpстраница, которая строит JSON, это работает нормально. Я пытаюсь сделать то же самое, что и в функции oneachfeature, но получаю ошибку. Uncaught ReferenceError: функция не определена
$.getJSON('geojsondata.php', function(data) {
console.log(data);
//var iconoactual=feature.geometry.distancia;
L.geoJson(data, {
pointToLayer: function(feature, latlng) {
//console.log(latlng, feature);
var iconoactual=feature.geometry.distancia;
Здесь я получаю значение, но когда я назначаю иконку, я получаю ошибку. leaflet.js: 7 Uncaught TypeError: Невозможно прочитать свойство 'popupAnchor' из неопределенного
return L.marker(latlng, {
icon: smallIcon
});
},
onEachFeature: onEachFeature
}).addTo(map);
});
Мой Json
object {2}
type : FeatureCollection
features [1]
0 {3}
type : Feature
geometry {3}
type : Point
coordinates [2]
0 : -65.1489465
1 : -24.38871095
distancia : yellow
properties {10}
empleado : test@gmail.com
fecha : 2019-10-14
hora : 15:16:00
empleadoC : test@gmail.com-2019-10-14-15:16:00
Я хотел бы, чтобы мой тип значкаэто было в моем json feature.geometry.distancia. Как я могу это сделать? Надеюсь, кто-нибудь может мне помочь с этим. С наилучшими пожеланиями.