Функция по сравнению с лучшей практикой объектов

Самый простой способ отметить массив координат - использовать массив в геометрии MultiPoint. Если координаты LonLat, геометрию необходимо преобразовать в координаты карты:

  var iconFeature = new ol.Feature({
    geometry: new ol.geom.MultiPoint([[-90, 0], [-45, 45], [0, 0], [45, -45], [90, 0]]).transform('EPSG:4326','EPSG:3857'),
    name: 'Null Islands',
    population: 4000,
    rainfall: 500
  });

Значки по умолчанию будут отображаться в натуральном размере изображения, но вы можете изменить это, установив параметр масштаба:

  var iconStyle = new ol.style.Style({
    image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */ ({
      anchor: [0.5, 46],
      anchorXUnits: 'fraction',
      anchorYUnits: 'pixels',
      src: 'https://openlayers.org/en/v5.3.0/examples/data/icon.png',
      scale: 0.5
    }))
  });

http://mikenunn.16mb.com/demo/OL_5.3.0_multi-icon.html

6
задан Alec Smart 30 January 2009 в 04:46
поделиться

4 ответа

Я лично сделал бы объект 'данных', который обрабатывает данные, затем имеют опрятный метод под ним.

Этот шаблон позволит количество задач, которые Вы делаете на данных для расширения в то время как содержащий все это в миленьком автономном блоке.

1
ответ дан 10 December 2019 в 02:54
поделиться
  • Функции обычно делают одну определенную задачу.

  • Объекты представляют что-то, чему связали задачи с ним. (методы)

Используйте функцию для tidy. Простой и простой. ;-)

4
ответ дан 10 December 2019 в 02:54
поделиться

Для чего-то, что делает одну вещь и только одну вещь, я просто использовал бы функцию. Что-либо более сложное, и я рассмотрел бы использование объекта.

Я не торопился для ввода по абсолютному адресу через некоторые груды (возможно ужасный и ужасный) код PHP и, действительно, некоторые вещи, возможно, были сделаны как объекты, но были оставлены как функции. Преобразования времени и строковые замены.

4
ответ дан 10 December 2019 в 02:54
поделиться

Для Вашего случая я сделал бы это функцией, возможно статическая функция в чем-то как "util" класс (которого единственная цель класса состоит в том, чтобы действовать как пространство имен - это соберет в группу все Ваши случайные полезные методы). Как показывает опыт, только используйте объект, если он должен хранить некоторые данные, которые должны жить между несколькими вызовами функции. Вот почему методы базы данных сделаны быть частью объекта, потому что они хранят дескриптор базы данных, который используется между несколькими вызовами функции. Да, только когда-либо существует один объект базы данных, но наличие его как группы объектов весь связанный с базой данных материал в одно место, помогая поддержать и сохранить без ошибок.

0
ответ дан 10 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: