Маркеры Mapbox - настраивайте размер кликабельной области

Я использую маркеры Mapbox на Android с пользовательскими значками. Мои значки кажутся больше стандартных маркеров, что приводит к тому, что часть значка не активна (пользователь должен коснуться центра значка, чтобы фактически вызвать событие щелчка).

Как я могу «вырастить» интерактивную область, чтобы она соответствовала моему значку?


person pstobiecki    schedule 29.05.2016    source источник
comment
попробуйте этот код... а также прочтите документацию.... mapbox.com/help/android- маркеры mapboxMap.setOnMarkerClickListener(new MapboxMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(@NonNull Marker marker) { Toast.makeText(MainActivity.this, marker.getTitle(), Toast.LENGTH_LONG).show() ; вернуть истину; } });   -  person Muhammad Waleed    schedule 29.05.2016
comment
Пожалуйста, внимательно прочитайте вопрос. Код, который вы показали, обрабатывает события щелчка маркера. Как и мой. Проблема в другом - кликабельная область у моих иконок-маркеров сильно мала.   -  person pstobiecki    schedule 29.05.2016
comment
в mapbox или других картах API нет опции для (щелкаемая область)....   -  person Muhammad Waleed    schedule 29.05.2016


Ответы (1)


Я только что столкнулся с несколько похожей проблемой сегодня вечером. Мои пользовательские значки очень маленькие, что затрудняет их нажатие. Мое исправление состояло в том, чтобы встроить мою иконку в более крупный PNG-файл, при этом добавленная область должна быть прозрачной. Я хотел маленький маркер (10 х 10 пикселей); увеличив значок до размера 24 x 24, целевая область теперь очень удобна для использования.

Я проверил это на очень больших значках... они работают до самых углов, независимо от того, прозрачны они или нет. Возможно, ваша первоначальная проблема была просто исправлена ​​в Android SDK? (вопросу уже четыре месяца)

Тем не менее, одно замечание по поводу прозрачного отступа для маленьких значков: вам может потребоваться настроить якорь для маркера, чтобы исходные непрозрачные пиксели оставались в правильном месте. В моем случае маркер изначально располагался по центру (0,5, 0,5), поэтому увеличение размера значка за счет равномерного заполнения прозрачными пикселями не изменило исходные значения привязки U и V.

person bphi    schedule 10.09.2016