Closed tologonkudaiberdiuulu closed 1 year ago
@DCrow это баг или вы так задумали? Если баг это надо исправить если, так было задумано то мне кажется надо изменить поведение карты. Я попробовал вот так:
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final List<MapObject> mapObjects = [];
late YandexMapController controller;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Expanded(
flex: 4,
child: Container(
color: Colors.white,
child: YandexMap(
mapObjects: mapObjects,
onMapCreated: (ctrlr) {
setState(() {
controller = ctrlr;
});
ctrlr.moveCamera(
CameraUpdate.newCameraPosition(
const CameraPosition(
target: Point(
latitude: 42.871959,
longitude: 74.596901,
),
zoom: 15,
),
),
);
},
),
),
),
],
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: GestureDetector(
onTap: () {
controller.moveCamera(
CameraUpdate.newCameraPosition(
const CameraPosition(
target: Point(
latitude: 42.871959,
longitude: 74.596901,
),
zoom: 15,
),
),
);
},
child: Container(
width: 40,
height: 40,
alignment: Alignment.center,
decoration: const BoxDecoration(
color: Colors.amber,
shape: BoxShape.circle,
),
child: const Text(
'P',
style: TextStyle(
color: Colors.red,
fontSize: 18,
),
textAlign: TextAlign.center,
),
),
),
);
}
}
При инициализации карты moveCamera
(или т.д. функции) не работают. Только после отрисовки карты, после нажатия кнопки. Вроде до последней обновлении все работало
Здравствуйте!
На данным момент в мастере такой проблемы не вижу.
Здравствуйте!
На данным момент в мастере такой проблемы не вижу.
У нас примерно такая же ситуация, как это выглядит:
return Observer(builder: (ctx) {
if (iap.mapProvider == "google") {
return GoogleMapsProvider();
}
return YandexMapsProvider();
});
Если переключать это условие, например, c google карты на yandex - в таком случае controller.moveCamera
не отрабатывает, хотя там указываются правильные координаты
НО если изначально в iap.mapProvider
будет yandex, то controller.moveCamera
отлично отработает
@DCrow вот здесь можете попробовать https://github.com/tologonkudaiberdiuulu/test-yandex-map.git
@DCrow или мастер(у вас же в данный момент только 1 ветка же) и то что на pub.dev отличаются?
@tologonkudaiberdiuulu Вы используете версию из pub.dev.
Мастер и pub.dev отличаются, в мастере лежат все самые последнии изменения, которые не обязательно еще есть на pub.dev. Каждая версия pub.dev отмечается тегом в репозитории.
Здравствуйте! На данным момент в мастере такой проблемы не вижу.
У нас примерно такая же ситуация, как это выглядит:
return Observer(builder: (ctx) { if (iap.mapProvider == "google") { return GoogleMapsProvider(); } return YandexMapsProvider(); });
Если переключать это условие, например, c google карты на yandex - в таком случае
controller.moveCamera
не отрабатывает, хотя там указываются правильные координатыНО если изначально в
iap.mapProvider
будет yandex, тоcontroller.moveCamera
отлично отработает
Поставил из github вместо pub.dev, проблема решилась... ( но тут же так же указана 3.0.0.. )
@koteesy плюсую. Тоже поставил ссылкку на гит, все норм работает. Спс @DCrow ! Закрою issue как только обновиться pub dev ). А так пусть люди в курсах будут )
@koteesy Здесь логика такая: Мастер рабочая ветка в ней находятся все изменения. Каждая версия(начиная с 2.0.0) помечается тегом. Версия 3.0.0 помечена для коммита 9a7888169741d1cb70b2affe3593526fd70d66f8 Все изменения до этого входят в эту версию, остальные уже не входят, и попадут в следующую.
Обновил версию на pub.dev
If it's only on me not working move camera on create? At first create(that's in onMapCreated function) it's not working zooming. I tried with
_controller.moveCamera( CameraUpdate.newCameraPosition( CameraPosition( target: positionPoint, zoom: 17, ), ), )
and with
_controller.moveCamera( CameraUpdate.newCameraPosition( CameraPosition(target: positionPoint), ), ); _controller.moveCamera(CameraUpdate.zoomTo(17));
. I don't know if I'm making something wrong. Think I'm not. But after first creation, if i make move, it's working fine. P.S. I am using latest version