Когда элемент создается с помощью конструктора new Feature({})
, он не выглядит как объект-свойство, помещенный в конструктор.Свойства, которые вы передали в новую функцию, будут сохранены в values
этой функции.
Полные свойства ol-функции доступны через feature.getProperties()
отдельные значения доступны через feature.get(key)
В вашем примере в Data.map
вы назвали первый параметр name
, который фактически является функцией.Это немного сбивает с толку, я думаю, feature
или что-то подобное будет более понятным именем переменной.
Чтобы получить это значение функции, позвоните name.get('NAME')
(или feature.get('NAME')
, если вы решите переименовать параметр)
Кроме того, вторым аргументом Array.map
является индекс в массиве, так что в вашем случае это даст вам 0
и 1
, что хорошо, если вам нужны эти значения.Если вы хотите получить идентификатор, вы можете получить доступ к этим значениям, позвонив по номеру name.get('ID')
или feature.get('ID')
(см. Выше).Полагаю, мне следует упомянуть OpenLayers-Functions feature.setId()
и feature.getId()
, просто для завершения.
TL; Dr
Попробуйте name.get('NAME')
вместо name.NAME
и проверьте результаты