Di chuyển đánh dấu trơn tru dọc theo hai tọa độ GPS


10

Tôi đang cố gắng làm động một điểm đánh dấu từ tọa độ GPS này sang tọa độ khác. Tôi hiện đang sử dụng Google Maps để đạt được điều này và mặc dù thuật toán của tôi có vẻ đúng, Google Maps đang làm rất kém trong việc chuyển đổi vị trí GPS sang pixel bên phải trên bản đồ, điều này làm cho hình ảnh động không được mượt mà khi thu nhỏ bản đồ . Phóng to, nó rất mượt và đó là lý do tại sao tôi nghi ngờ "zig zag" là do Google thực hiện chuyển đổi pixel LatLng-> kém.

Giải pháp tốt nhất sẽ là cho tôi xử lý trực tiếp các tọa độ pixel (x, y) nhưng không may là không có phương thức công khai nào để gán vị trí pixel cho điểm đánh dấu.

Mã có sẵn ở đây: http://dev.syskall.com/map/

Làm thế nào bạn có thể làm cho hình ảnh động mượt mà hơn khi thu nhỏ? Ngoài ra, tôi sẽ quan tâm đến việc sử dụng một Google Maps tương đương để cho phép tôi hoàn thành những gì tôi đang cố gắng thực hiện nếu không thể với Google Maps.

Tái bút: Tôi không chắc đây có phải là nơi thích hợp để đặt câu hỏi của tôi không, cho tôi biết nếu không phải như vậy.

Câu trả lời:



2

Bạn có thể sử dụng thư viện đánh dấu-animate-không phô trương để làm cho các điểm đánh dấu chuyển tiếp suôn sẻ từ vị trí này sang vị trí khác.

Bạn có thể khởi tạo điểm đánh dấu của mình như thế:

var marker = new SlidingMarker({
   //your original marker options
   //...
});

Vì vậy, điểm đánh dấu của bạn sẽ hoạt hình từ vị trí bắt đầu đến một trong cuộc gọi này:

marker.setPosition(givenPosition);

PS Tôi là tác giả của thư viện.


Thư viện của bạn có khả năng xoay biểu tượng sang một góc không? Dựa vào lat cuối, lon chuyển sang lat lat tiếp theo?
Tim Maxey

Xem thảo luận tại đây . Có sự kiện được nêu ra cho mỗi bước hoạt hình, nơi bạn có thể nhận tọa độ và cố gắng xoay điểm đánh dấu của mình.
viskin


1

Bạn cũng có thể xem xét phương pháp sau:

  • tạo một bộ sưu tập đánh dấu giữa hai tọa độ trên mỗi vị trí
  • chuyển đổi một điểm đánh dấu cụ thể bằng cách sử dụng marker.setVisibility(value)chức năng

Ví dụ hoàn chỉnh

Câu đố

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.