В настоящее время я работаю над приложением Qt Quick, которое предоставит средство просмотра карт. Я хочу создать неправильные формы (более одной формы), а затем поместить их на карту. это хороший способ сделать это с помощью QQuickPaintedItem (Writing Расширения QML с C++) или есть другой способ сделать это? или в любом случае создать свою собственную форму, например MapCircle (например, MapCustom) в Map Viewer?
Qt QML - создать свою форму в Qt Location
Ответы (1)
Если ваша фигура не должна иметь географическую привязку (например, вершины не должны быть фактическими географическими координатами), но вы просто хотите, чтобы заполнитель выглядел по-особенному, вы можете указать QtQuick Shapes вперед
person
Pa_
schedule
21.12.2017
Но @Paul, я хочу создать свою собственную форму, основанную на GeoMapItemView.
- person Behzad; 24.12.2017
@Behzad, пожалуйста, прочитайте свой комментарий еще раз :-) Вы уверены, что хотите переопределить QGeoMapItemView? Это представление, которое по умолчанию ничего не рисует, но требует делегата. Если вы имеете в виду создать свою собственную форму, производную от QGeoMapItemBase, то вам следует более конкретно указать свой вариант использования. Должна ли она быть привязана к местности или нет? можете ли вы сделать пример для него?
- person Pa_; 24.12.2017
Ты прав, @Paul, мой комментарий немного расплывчатый. Я хочу создать тысячу фигур как один элемент в QML, который должен иметь географическую привязку. Другими словами, вместо того, чтобы повторять свою форму на карте Qml (из-за низкой производительности), я хочу создать всю свою форму как один элемент и показать ее на карте. Я также хочу синхронизировать свой предмет с картой (перемещение, масштабирование и т. д.). Поэтому он должен иметь географическую привязку.
- person Behzad; 25.12.2017
Похоже, вам нужен своего рода объект MultiPolygon, где у вас может быть несколько отдельных путей в одном и том же элементе? Насколько динамичными должны быть ваши формы? После создания они должны быть статичными?
- person Pa_; 25.12.2017
все мои формы должны быть динамичными. Я рассматриваю возможность привязки моего элемента карты в качестве родителя заполнения (основной карты) (отдельно слой на всей карте). Поэтому я могу нарисовать все свои тысячи фигур на карте как один элемент, а не повторять их.
- person Behzad; 25.12.2017
пожалуйста, определите динамический. Изменяет ли каждая фигура свои данные (координаты вершин) с течением времени? Если это так, я боюсь, что единственный поддерживаемый подход, который в настоящее время предлагает QtLocation, — это MapItemView + MapPolygon. Если вы хотите создать такой элемент карты, вы должны создать подкласс QGeoMapItemBase, но тогда вы будете предоставлены сами себе.
- person Pa_; 25.12.2017
Да, моя фигура со временем меняет свои данные. Но QGeoMapItemBase — это класс, который находится в приватной части Qt.
- person Behzad; 27.12.2017
QQuickItem
, а неQQuickPaintedItem
. Но как вы предполагаете синхронизировать свой предмет с картой (перемещение, масштабирование и т.д.)? - person folibis   schedule 18.12.2017MapPolygon
- person folibis   schedule 18.12.2017