Задать вопрос
@lolka02

Как оптимизировать вывод объектов на карте яндекса?

Сейчас вывод объектов реализовано с помощью RemoteObjectManager
на сервере отправляется запрос ../tile?bbox=41.1704,0.0000,66.6535,112.5000&zoom=5&callback=id_1590734764252265
объектов много и каждый раз когда состоянии карты меняется делается запрос по координатам для выборки объектов
$bbox = explode(',', Yii::$app->request->get('bbox'));
$query = Object::find()
->select('latitude, longitude')
->andFilterWhere(['>', 'latitude', $bbox[0]])
->andFilterWhere(['<', 'latitude', $bbox[2]])
->andFilterWhere(['>', 'longitude', $bbox[1]])
->andFilterWhere(['<', 'longitude', $bbox[3]]);
$models = $query->all();
$objects = [];
foreach ($models as $model) {
    $objects[]  = ..; //данные метки
}
return [
            'callback' => '...'
            'data' => [
                'error' => null,
                'data' => [
                    "type" => "FeatureCollection",
                    "features" => $objects
                ]
            ]];


но что то подсказывает мне, что надо переделать , так как объекты выбираются повторно каждый раз если входят в эту область и даже с меньшим количеством(условно 10к) уже начинает тормозит иногда и вовсе выдавать 500 ошибку
  • Вопрос задан
  • 95 просмотров
Подписаться 2 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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