Вот в чем проблема:Как получить позицию от маркеров для отслеживания? (Android Mapbox)
Я хочу показать пользователю лучший маршрут для достижения маркера после того, как пользователь нажмет кнопку внутри infoWindow. Проблема в том, что я не могу получить данные о местоположении маркера из-за какой-либо проблемы с Latlng и Позиция классов. (Я использую пример MapBox получить маршрут, так что мне нужно два значения Position)
Поэтому в основном, мне нужно обновить переменную назначения с позицией маркеров, нажав кнопку внутри пользовательского InfoWindow. Тем не менее, я понятия не имею, как я могу это сделать, несмотря на то, что много разбираюсь в поиске Google и Stack Overflow. Кто-нибудь может мне помочь? (Cammack!) Спасибо за помощь!
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
// Origem: Rodoviaria
final Position origin = Position.fromCoordinates(-47.882645, -15.794082);
// Destino: Reitoria
final Position destination = Position.fromCoordinates(-47.866611, -15.762604);
//...
mapboxMap.setInfoWindowAdapter(new MapboxMap.InfoWindowAdapter() {
@Nullable
@Override
public View getInfoWindow(@NonNull Marker marker) {
//...
final Marker marcador = marker;
botaoIr = (Button)v.findViewById(R.id.botaoIr);
botaoIr.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//I have been trying the method below, but I am having trouble with LatLng and Position classes!
//LatLng ponto = marcador.getPosition();
//destination = new Position(ponto.getLongitude(),ponto.getLatitude());
try {
getRoute(origin, destination);
} catch (ServicesException servicesException) {
servicesException.printStackTrace();
}
}
});
}
});
//...
}
Спасибо, я был достаточно близко, но это сработало! Могу ли я попросить предложение? Мне нужно удалить маркер перед добавлением этого нового маркера, я знаю, что могу использовать mapboxMap.removeMarker (маркер), но мне нужно инициализировать переменную Position перед тем, как делать такую вещь, знаете ли вы хорошее предложение о значении, которое я мог бы инициализировать переменная? Благодаря! –
Я не уверен, понимаю ли я этот вопрос, но вы можете попробовать проверить, является ли маркер нулевым, а если нет, то вы знаете, что он находится на карте и может быть удален. – cammace
Прошу прощения за путаницу, но я имею в виду, что мне нужен метод очистки маршрута и маркеров, которые показывались, например, с использованием метода mapboxMap.clear(), но только удаление найденного маршрута и новых маркеров, которые были добавлено. В противном случае, каждый раз, когда я нажимаю на эту кнопку, он добавит новый маркер и новый маршрут, но он не удалит предыдущий, знаете ли вы метод, который очищает такую вещь? Еще раз спасибо Cammace! Я твой должник! –