Сравнение маркеров карты Google - PullRequest
0 голосов
/ 09 июня 2018

Я добавляю маркер на карту Google.И сохраните ссылку как поле моего класса.

 MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.position(position)
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_aim))
                .anchor(0.5f, 0.5f)
                .draggable(false);
        mCurrentPositionMarker = mView.getGoogleMap().addMarker(markerOptions);

onMarkerClick (Маркерный маркер) возвращает ссылку.Я добавил только один, поэтому (marker == mCurrentPositionMarker) должен быть истинным, но это ложно.Зачем?

1 Ответ

0 голосов
/ 09 июня 2018

Из документов (выделено мной):

API Карт позволяет прослушивать и отвечать на события маркеров.Чтобы прослушать эти события, вы должны установить соответствующий прослушиватель для объекта GoogleMap, к которому относятся маркеры.Когда событие происходит на одном из маркеров на карте, обратный вызов слушателя будет вызван с соответствующим объектом Marker, переданным в качестве параметра. Чтобы сравнить этот объект Marker с вашей собственной ссылкой на объект Marker, вы должны использовать equals (), а не == .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...