Tôi đang tìm kiếm một cách để vô hiệu hóa trung tâm tự động mảnh bản đồ của tôi vào chức năng đánh dấu chọn. Tôi vẫn muốn các dấu hiệu InfoWindow hiển thị, nhưng không phải là trung tâm toàn bộ bản đồ trên điểm đánh dấu mà tôi đã chọn.Làm thế nào để vô hiệu hóa android đánh dấu bản đồ trung tâm nhấp chuột tự động
Trả lời
Hãy nhìn vào các bài sau:
Don't snap to marker after click in android map v2
Có một phương pháp được ở đó bởi @DMan, về cơ bản bạn cần phải tiêu thụ các sự kiện OnMarkerClick
và ghi đè lên hành vi mặc định:
// Since we are consuming the event this is necessary to
// manage closing openned markers before openning new ones
Marker lastOpenned = null;
mMap.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
// Check if there is an open info window
if (lastOpenned != null) {
// Close the info window
lastOpenned.hideInfoWindow();
// Is the marker the same marker that was already open
if (lastOpenned.equals(marker)) {
// Nullify the lastOpenned object
lastOpenned = null;
// Return so that the info window isn't openned again
return true;
}
}
// Open the info window for the marker
marker.showInfoWindow();
// Re-assign the last openned such that we can close it later
lastOpenned = marker;
// Event was handled by our code do not launch default behaviour.
return true;
}
});
Cảm ơn bạn rất lý tưởng! – FiniteRed
@Emil ADZ, tôi đã sử dụng cùng một logic nhưng tôi vẫn nhận được bản đồ di chuyển onMarker Nhấn; –
@ AravinthaBashyam.c nếu bạn đang trở về đúng lúc kết thúc vào phương pháp này sau đó nó không nên di chuyển, và tại sao là xuống bỏ phiếu? –
Cách đơn giản:
-
.210
- Thực hiện setOnMarkerClickListener()
- Return 'TRUE' để ngăn chặn googlemap theo mặc định chuyển trung tâm bản đồ để đánh dấu.
Ví dụ:
map.setOnMarkerClickListener(
new OnMarkerClickListener() {
boolean doNotMoveCameraToCenterMarker = true;
public boolean onMarkerClick(Marker marker) {
//Do whatever you need to do here ....
return doNotMoveCameraToCenterMarker;
}
});
wow điều này hoạt động như một nét duyên dáng: D – Javier
Rất đơn giản:
Sử dụng dưới mã cho thực hiện setOnMarkerClickListener().
@Override
public boolean onMarkerClick(Marker marker) {
marker.showInfoWindow(); // show info window
return true; // can't move map by this
}
Nó hoạt động đúng cách, đó là giải pháp chính xác. [nhập liên kết mô tả ở đây] [1] [1]: http://stackoverflow.com/questions/15925319/how-to-disable-android-map-marker-click-auto-center ? answerertab = active # tab-top –