Прежде всего, «вы делаете это неправильно» . Обычно вы хотите создать класс, полученный из объекта QObject, и перенести этот класс на новый объект потока вместо того, чтобы получать свой класс из Qthread
. Теперь, чтобы понять специфику вашего вопроса, вы не можете для непосредственного изменения элементов ui вашего основного потока GUI из отдельного потока. Вы должны connect
a signal
от вашего 2-го потока до slot
в своем основном потоке. Вы можете передавать любые данные, которые вам нужны через это соединение с сигналом / слотом, но вы не можете напрямую модифицировать элемент ui (что, честно говоря, вы, вероятно, не хотите, если вы намерены оставить интерфейс вашего приложения отдельно от бэкэнд ). Оформить Qt-сигнал и слот документации для получения дополнительной информации
Вы можете использовать свои собственные маркеры, добавляя их на карту.
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(currentLocationMarker.getPosition());
markerOptions.title(getString(R.string.start));
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(mapPin));
originMarker = map.addMarker(markerOptions);
Кроме того, вы можете изменить тему карты, используя JSON-файлы в стиле карты.
googleMap.setMapStyle(MapStyleOptions.loadRawResourceStyle(getActivity(), R.raw.map_night_style));
Вы можете легко создать свой собственный стиль с помощью Google по следующей ссылке:
Стиль с помощью Google .
А вот полная документация по настройке вашей карты:
Документация