Chuyển đổi tọa độ canvas sang vị trí màn hình [đã đóng]


8

Tôi có một điểm, trong đó có tọa độ bản đồ (canvas) và thật tuyệt khi có vị trí màn hình của anh ấy. Tôi cần điều này để thiết lập vị trí con trỏ ở cùng một vị trí, nơi đặt điểm.

Bạn có biết cách nào để chuyển đổi tọa độ này không?

Câu trả lời:


7

Tôi nghĩ rằng một cái gì đó như sau có thể hoạt động trong đó bạn cần chuyển đổi tọa độ bản đồ của mình thành tọa độ màn hình bằng cách sử dụng QssMapTool :: toCanvasCoord tọa độ . Chọn một điểm trong lớp của bạn, sau đó chạy phần sau trong Bảng điều khiển Python :

from qgis.gui import QgsMapTool
from PyQt4.QtGui import QCursor

layer = iface.activeLayer()
for f in layer.selectedFeatures():
    geom = f.geometry()
    point = QgsMapTool(iface.mapCanvas()).toCanvasCoordinates(geom.asPoint())
    transformed_point = iface.mapCanvas().mapToGlobal(point)
    QCursor().setPos(transformed_point.x(), transformed_point.y())
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.