Marker bergerak dengan lancar di sepanjang dua koordinat GPS

10

Saya mencoba untuk menghidupkan penanda dari satu koordinat GPS ke koordinat lainnya. Saat ini saya menggunakan Google Maps untuk mencapai hal ini dan, meskipun algoritme saya kelihatannya benar, Google Maps melakukan pekerjaan yang buruk dalam mengubah posisi GPS ke piksel yang tepat di peta, yang membuat animasi tidak begitu mulus ketika peta diperbesar . Diperbesar, itu sangat halus dan itu sebabnya saya curiga "zig zag" disebabkan oleh Google melakukan konversi pixel LatLng-> yang buruk.

Solusi terbaik bagi saya adalah berurusan langsung dengan koordinat piksel (x, y) tetapi sayangnya tidak ada metode publik untuk menetapkan lokasi piksel ke penanda.

Kode tersedia di sini: http://dev.syskall.com/map/

Bagaimana Anda membuat animasi lebih halus saat diperbesar? Atau, saya akan tertarik menggunakan setara dengan Google Maps yang akan membiarkan saya mencapai apa yang saya coba lakukan jika itu tidak mungkin dengan Google Maps.

PS: Saya tidak yakin apakah ini tempat yang tepat untuk menanyakan pertanyaan saya, beri tahu saya kalau bukan itu masalahnya.

Oli
sumber

Jawaban:

2

Anda dapat menggunakan pustaka marker-animate-unobtrusive untuk membuat marker berpindah dengan lancar dari satu lokasi ke lokasi lain.

Anda dapat menginisialisasi penanda Anda seperti itu:

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

Jadi penanda Anda akan beranimasi dari lokasi awal untuk memberi satu pada panggilan ini:

marker.setPosition(givenPosition);

PS Saya penulis perpustakaan.

Viskin
sumber
Apakah perpustakaan Anda memiliki kemampuan untuk memutar ikon ke suatu sudut? berdasarkan lat terakhir, lon pindah ke lat lon berikutnya?
Tim Maxey
Lihat diskusi di sini . Ada acara yang dimunculkan untuk setiap langkah animasi, di mana Anda bisa mendapatkan koordinat dan mencoba memutar penanda Anda.
viskin
1

Anda juga dapat mempertimbangkan pendekatan berikut:

  • menghasilkan koleksi penanda antara dua koordinat per setiap lokasi
  • beralih penanda tertentu menggunakan marker.setVisibility(value)fungsi

Contoh lengkap

JSFiddle

Vadim Gremyachev
sumber