30/09/2018, 22:28
Làm thế nào để tạo random các địa điểm gần vị trí của mình trong bán kính bất kỳ (VD: 1km) - Google Map API Android
Như tiêu đề ạ. Mình đang học với Google Maps API trong Android, và muốn tạo ngẫu nhiên một vài địa điểm gần với địa điểm của mình trong bán kính 1km đồng thời marker chúng. Mong mọi người giúp đỡ ạ!
Bài liên quan
Bạn đã có bán kính rồi. Vậy thì random latlng trong khoảng từ latlng giữa màn hình đến vị trí latlng+1km.
Dễ hiểu hơn thì bạn tính xem từ vị trí giữa màn hình + 1km thì tọa độ là bao nhiêu là MAX theo hình vuông nhé. rồi lấy ngẫu nhiên 2 đối số latlng đó là đc.
mình làm thế này không biết đúng ý bạn không? Vì vẫn còn dư một đoạn nằm ở góc hình vuông không nằm trong bán kính.
Bây giờ bạn lấy tọa độ của điểm ở 2 góc của hình vuông. Rồi random latlng trong khoảng đó. là lấy đc mà
Bạn chỉ cần random 2 chỉ số là bán kính và góc. Đổi hệ tọa độ cực này ra latlng là được. Chuyển đổi giữa 2 hệ tọa độ ở đây. Hệ tọa độ Descarter phù hợp cho “hình vuông” hơn, còn hệ tọa độ cực thì phù hợp cho “hình tròn” hơn.
vi.wikipedia.org
Hệ tọa độ cực
Trong toán học, hệ tọa độ cực là một hệ tọa độ hai chiều trong đó mỗi điểm M bất kỳ trên một mặt phẳng được biểu diễn bằng 2 thành phần: Hệ tọa độ cực hữu ích trong những trường hợp trong đó quan hệ giữa hai điểm dễ được viết dưới dạng góc và khoảng cách. Trong các hệ tọa độ thông thường như hệ tọa độ Descartes, quan hệ này chỉ có thể được biểu diễn dưới dạng công thức lượng giác. Khái niệm góc và bán kính đã được người xưa sử dụng từ thế kỷ thứ nhất trước Công nguyên. Nhà thiên văn học Hipparc...
OK cảm ơn mọi người. Cũng trong chủ đề Google Map, mình mong moị người giúp đỡ một chút. Ở dưới Map mình có một Recyclerview hiển thị danh sách tất cả vị trí được Marker trên màn hình. Mình muốn tạo sự kiện sao cho khi ấn giữ một item của Recyclerview thì marker tương ứng vị trí đó trên Map đổi màu, cho đến khi thả tay ra thì marker trở lại màu mặc định ban đầu. Trường hợp này thì làm như thế nào ạ?
Tạo sự kiện Longclick
Mình set sự kiện cho item của listview mà bạn
Mình cũng dùng onLongClick cho recyclerview và bắt được đúng Marker của nó, nhưng mà vẫn loay hoay mãi không thể xử lý được việc khi nhấn giữ xong và bỏ tay ra thì marker nó trở lại như khi không thực hiện long click