@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 ошибку
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы