2016-11-26 8 views
0

В моей деятельности на карте Я показываю несколько маркеров с указанием парковки, и у меня есть ImageView, показывающий значок автомобиля, который крепится к центру экрана поверх фрагмента карты. Я хочу выполнить некоторые действия, когда значок автомобиля перекрывает маркер парковки при перетаскивании карты.Карта Android: как определить ImageView, перекрывающуюся на Маркете?

Каковы возможные способы сделать это?

Я могу получить LatLong автомобиля во время перетаскивания, но я понятия не имею, что делать дальше.

ss

+0

Вам просто нужен лат/lon обеих точек, а затем вы можете использовать это: http://stackoverflow.com/a/8832202/4409409 –

+0

Я думаю, что найти расстояние между двумя точками поможет. –

ответ

2

вы можете получить центр карты с этим

Map.getCameraPosition().target; 

, то вы можете найти расстояние между местоположением пользователей и центром этого метода:

private static double distance(double lat1, double lon1, double lat2, double lon2) { 
     double theta = lon1 - lon2; 
     double dist = Math.sin(Math.toRadians(lat1)) * Math.sin(Math.toRadians(lat2)) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.cos(Math.toRadians(theta)); 
     dist = Math.acos(dist); 
     dist = Math.toDegree(dist); 
     dist = dist * 60 * 1.1515; 
     return (dist * 1.609344); 
    } 

если расстояние ниже, чем конкретное значение делает то, что вы хотите

+0

Что делает внутри метод rad2deg()? –

+0

конвертировать радианы в степень. сообщение отредактировал @ZayidMohammed –

+0

Спасибо, брату. Он работает ... –

 Смежные вопросы

  • Нет связанных вопросов^_^