Oct. 30, 2019, 4:12 p.m.

Как в QML в Map сделать активными маркеры

Map

Добрый день.
Как в QML в Map сделать активные маркеры? Например при нажатии по марке, маркер бы менял цвет, отправлял сигнал о нажатии.
Вот код :

 Map {
                id: mapview
                anchors.fill: parent
                plugin: plugin
                center: QtPositioning.coordinate(59.91, 10.75)
                zoomLevel: 14

                MapItemView{
                    model: markerModel
                    delegate: mapcomponent
                }
            }

        Component {
                id: mapcomponent
                MapQuickItem {
                    id: marker
                    anchorPoint.x: image.width/4
                    anchorPoint.y: image.height
                    coordinate: position

                    sourceItem: Image {
                        id: image
                        source: "qrc:/Images/Images/markerRed.png"
                    }
                }
            }

            MouseArea {
                anchors.fill: parent
                propagateComposedEvents: true
                onPressAndHold:  {
                    var coordinate = mapview.toCoordinate(Qt.point(mouse.x,mouse.y))
                    markerModel.addMarker(coordinate)
                }
            }
We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
2

Добрый день.

Думаю, что нужно добавить MouseArea внутрь MapQuickItem, и уже по клику сделать внутри той MouseArea выполнить необъодимые вам действия.

Спасибо. Вот так заработало

        Component {
                id: mapcomponent
                MapQuickItem {
                    id: marker
                    anchorPoint.x: image.width/4
                    anchorPoint.y: image.height
                    coordinate: position

                    MouseArea{
                        anchors.fill: parent
                        onClicked: {
                            imageMarker.source = "qrc:/Images/Images/markerGreen.png"
                            console.log("MapQuickItem clicked")}
                    }

                    sourceItem: Image {
                        id: imageMarker
                        source: "qrc:/Images/Images/markerRed.png"
                    }
                }
            }

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

T
Dec. 11, 2019, 4:56 p.m.
Toma

C++ - Тест 003. Условия и циклы

  • Result:50points,
  • Rating points-4
AT
Dec. 10, 2019, 8:06 a.m.
Anastasija Troschenkova

C++ - Test 001. The first program and data types

  • Result:60points,
  • Rating points-1
AT
Dec. 10, 2019, 8:02 a.m.
Anastasija Troschenkova

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
Last comments
Dec. 9, 2019, 3:41 a.m.
Evgenij Legotskoj

Эта ошибка invalid use of incomplete type ‘class Ui::AnotherWindow’ обычно говорит о том, что не найдено определение класса или структуры. Типичная проблема - не подключён заголовочны…
NB
Dec. 9, 2019, 3:36 a.m.
Nikolaj Batmanov

Ну, не настолько со мной всё полхо...))) Вроде бы. Я ж кнопки отрисовываю.
Dec. 9, 2019, 3:14 a.m.
Evgenij Legotskoj

Добрый день. У вас ui файлов по ходу нет. UI файлы используются для вёрстки в графическом дизайнере.
NB
Dec. 9, 2019, 3:05 a.m.
Nikolaj Batmanov

Здравствуйте! Полностью скопировал ваш пример к себе, чтобы разобраться. А он не хочет запускаться, дает ошибку: invalid use of incomplete type ‘class Ui::AnotherWindow’ ui(new Ui…
Dec. 8, 2019, 7:23 a.m.
Evgenij Legotskoj

У меня здесь есть одна старая статья с примером векторного редактора. Там есть ответы на ваши вопросы. Поизучайте Qt/C++ - Урок 072. Пример векторного редактора на Qt QGraphicsItem, QG…
Now discuss on the forum
MU
Dec. 11, 2019, 8:27 a.m.
Maciej Urmański

Thank you! Now works, and this is solution. num_embed = Embed.objects.filter(added_by=recipe.added_by).count()
Dec. 11, 2019, 8:12 a.m.
Mihailll

Так работает. Взял этот пример https://api-2d3d-cad.com/face_recognition_with_opencv/ void MainWindow::on_pushButton_4_clicked() //фото определение лица{ // Load Face cascade (.xml…
TD
Dec. 10, 2019, 4:14 a.m.
Timur Dosov

Спасибо, работает. А ещё вопрос: как загрузить страницу с динамической подгрузкой контента по скроллингу? Например - [https://ntvplus.ru/tv/]. Пока делаю через костыль - QApplication::s…
Dec. 9, 2019, 7:16 a.m.
qml_puthon_user

Я сделал простой вывод текста по испусканию сигнала... Чего не хватает программе?) Python: # системные библиотекиimport cv2import numpy as npimport sysimport threading# PyQt б…
SK
Dec. 8, 2019, 4:11 p.m.
Semen Kosandjak

інтерфейс qt, приклад того додаю на малюнку, я натискаю на кнопку і у мене з'являється 2 текст лайну в які я вводжу значення, тобто в 1 цифри,у другому випадку це літери, тобто c++, без графічно…
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB