volga-volga / react-native-yamap

React Native Yandex Maps | Яндекс Карты | Yandex.MapKit implementation for react native | YandexMaps
151 stars 84 forks source link

Скрыть дефолтный Marker при использовании child #101

Open ch3rn1k opened 2 years ago

ch3rn1k commented 2 years ago

Добрый день!

Столкнулся с такой "фичей" - когда создаешь Marker и определяешь внутри child - отрисовывается сначала дефолтная какая-то точка, потом скрывается как только child будет готов. Есть возможность скрыть ее? Спасибо за ответ!

image

Справа пример как это выглядит, слева дефолтный Marker без child

DazzlingFame commented 2 years ago

Присоединяюсь, встретился с такой же проблемой. У меня воспроизводится только на iOS, на андроиде всё норм

Окружение:

    "react-native": "0.65.1",
    "react-native-yamap": "4.0.3",
    iOS 15.3

Воспроизводится как на симуляторе, так и на реальном девайсе

Пример, чего хочется видеть (на примере андроида) и что на iOS

Андроид

https://user-images.githubusercontent.com/15292833/168097398-3c189dd5-e2f9-4d3d-9ee6-91611bb9f167.mov

iOS

https://user-images.githubusercontent.com/15292833/168097456-58992fec-12fe-41b2-8801-74ea48e0dbf8.mov

ch3rn1k commented 2 years ago

Присоединяюсь, встретился с такой же проблемой. У меня воспроизводится только на iOS, на андроиде всё норм

Окружение:

    "react-native": "0.65.1",
    "react-native-yamap": "4.0.3",
    iOS 15.3

Воспроизводится как на симуляторе, так и на реальном девайсе

Пример, чего хочется видеть (на примере андроида) и что на iOS

Андроид

2022-05-12.17.06.47.mov iOS

2022-05-12.17.15.52.mov

Не по теме, но все же - не сталкивался с проблемой на Android Native object's weak_ptr for ...? Вылет всего приложения при использовании Marker с child

DazzlingFame commented 2 years ago

@ch3rn1k

https://github.com/volga-volga/react-native-yamap/issues/102

ch3rn1k commented 2 years ago

Печаль

ownikss commented 2 years ago

@ch3rn1k Я правильно понимаю, что в этом pull request проблема решена? Код смержен в мастер. С обновлением в npm пока проблемы. Если проблема исправлена, закрой пожалуйста issue

ch3rn1k commented 2 years ago

@ch3rn1k Я правильно понимаю, что в этом pull request проблема решена? Код смержен в мастер. С обновлением в npm пока проблемы. Если проблема исправлена, закрой пожалуйста issue

Нет, данная проблема осталась, ее решения я пока что не знаю.

Прежде чем отрисуется Marker с моим children на его месте отображается дефолтная точка. Уже всю документацию яндекса перерыл, но так и не нашел ничего на этот счет...

ch3rn1k commented 2 years ago

Также во время ререндера, когда state меняется, также отображаются на месте точек сначала дефолтные метки яндекса (скорее всего это они), а через некоторое время (когда реакт срендерит все ui элементы точек) отобразятся мои кастомные метки.

ch3rn1k commented 2 years ago

На мой взгляд тут 2 решения (касается только Marker c children):

  1. Скрывать меку и только когда UI готов отрисовать элементы - отображать метку;
  2. Каким то образом изменить дефолтную модель метки.
ch3rn1k commented 2 years ago

@ownikss нашел в данной функции использование addPlacemarkWithPoint (документация яндекса).

По идее надо как то использовать addEmptyPlacemarkWithPoint если есть children или source у Marker, но простой подменой не срабатывает, ругается Exception thrown while executing UI block: Supported for single, animated icon and view only.