Зависит от реализации map :: addMarkerByCoords ()
Имя метода (не функции) и его сигнатура предполагают, что вы можете добавлять только одну координату за раз. Но чтобы быть уверенным, вам нужно знать методы истинной подписи. Таким образом, вопрос заключается в следующем: допускает ли метод массивы в качестве аргументов?
Как правило, метод, который позволяет добавлять несколько элементов одновременно, во множественном числе содержит имя предполагаемого действия в своем имени:
map :: addMarkersByCoords () // обратите внимание на маркер
Если класс 'map' является вашей собственной реализацией, вы, конечно, можете свободно реализовывать его так, как вам нравится, но в этом случае помните описательные имена методов. Итак, добавьте один маркер:
карта :: addMarkerByCoords ()
Добавить несколько маркеров одновременно:
карта :: addMarkersByCoords ()
Обычно вы бы реализовали метод множественного числа примерно так:
public function addMarkersByCoords( array $markers )
{
foreach( $markers as $marker )
{
$this->addMarkerByCoord( $marker[ 'long' ], $marker[ 'lat' ], $marker[ 'img ' ], $marker[ 'name' ] );
}
}
По сути, метод множественного числа принимает один массив и добавляет каждый отдельный маркер, вызывая метод единственного числа.
Если вы хотите получить еще больше ООП, вы можете реализовать метод множественного числа и единственного числа для приема (массива) объектов Marker. Но это не особенно актуально для этого обсуждения.
Кроме того, предлагаемое расширение интерфейса Map множественным методом не обязательно означает, что вы не можете добавить несколько маркеров вне объекта с помощью вызова единственного метода в цикле foreach. Это зависит от ваших предпочтений.