dicem
@dicem

Как побороть Cannot read private member from an object whose class did not declare it в Яндекс картах API v3?

Всем привет, внедряю яндекс карты в приложение на Vue 3.

Имеется код инициализации
const initYMap = async (_container: HTMLElement) => {
  try {
    await ymaps3.ready

    // Geocode
    const position = await getPosition()

    // Initialization
    map.value = new ymaps3.YMap(_container, {location: {center: position, zoom: 14}})

    // Layers
    map.value
      .addChild(new ymaps3.YMapDefaultSchemeLayer({}))
      .addChild(new ymaps3.YMapFeatureDataSource({id: MARKER_SOURCE}))
      .addChild(new ymaps3.YMapLayer({source: MARKER_SOURCE, type: 'markers', zIndex: 1800}))
      // Events
      .addChild(new ymaps3.YMapListener({layer: 'any', onActionEnd: (evt) => onMoveHandler(evt)}))

    // Spawn points
    points.value = await initPoints(map.value.bounds) ?? null

    if (points.value) {
      const {YMapClusterer, clusterByGrid} = await ymaps3.import('@yandex/ymaps3-clusterer@0.0.1')
      const features: Feature[] = pointsToFeatures(points.value)

      clusterer = new YMapClusterer({
        method: clusterByGrid({gridSize: 64}),
        features,
        marker: marker,
        cluster: cluster
      })

      map.value.addChild(clusterer)
    }
  } catch (error) {
    console.log('Произошла ошибка инициализации карты', error)
  }
}


В строке с // Spawn points я беру координаты границ карты с помощью map.value.bounds

В Итоге получаю следующую ошибку

TypeError: Cannot read private member from an object whose class did not declare it


65409f38abf7b871814587.png

Почему это происходит? Я же получаю bounds буквально в той же функции где и была объявлена карта? Как это исправить?
  • Вопрос задан
  • 228 просмотров
Решения вопроса 1
dicem
@dicem Автор вопроса
А впринципе все решилось, инциализировав map как обычную переменную, нежели ref
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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