Страница 1 из 1

Кто работал с yandex maps?

Добавлено: 20 окт 2014, 10:18
Mikhail_dev
Есть вопрос по библиотеке для работы с Яндекс картами, по yandex map kit. Необходимо переопределить поведение для обычной кнопки определения местоположения, не то, что она хочет вывести, а то, что я требую от неё.
[syntax=java5]mOverlayManager.getMyLocation().setEnabled(true);[/syntax]
таким образом я включаю её, но вот определить метод клика её я не пойму как. Пробовал отыскать кнопки в как-то так
[syntax=java5]
for(int i=0;i<mapView.getChildCount();i++){
View child=mapView.getChildAt(i);
Log.d("sample", "child.getClass()="+child.getClass());
}
}
[/syntax]
но получил вот что
10-20 11:05:06.719: D/sample(9393): child.getClass()=class android.widget.FrameLayout
10-20 11:05:06.719: D/sample(9393): child.getClass()=class ru.yandex.yandexmapkit.MapSurfaceView
Т.е. другими словами кнопок скорее всего нет на карте, они отрисовываются в коде, в MapSurfaceView.

Документация скудная, можно сказать её почти нет, код закрытый. Чего-то вразумительного в их вопроснике на гитхабе, я не нашел. Более того, библиотека уже как два года deprecated (узнавали в яндексе, они нам намекнули что можете пока что не ждать новой версии, мол писать им еще долго), и они будут править только серьезные баги. Вот такая, простите, жопа.

Если у кого есть опыт/идеи, то буду рад выслушать.

Re: Кто работал с yandex maps?

Добавлено: 20 окт 2014, 18:45
altwin
А что тут думать, нужно открывать исходники и искать место вызова, просто удалить участок кода, пересобирать и руками делать реализацию.

P.S. хотя на самом деле я бы пошел другим путем, после дизасемблера собирать проект -это извращение, а задача простая и тут можно упростить. Нужен хороший профилировщик, просто запустить отладку и смотреть сигнатуру вызовов, т.е. искать адрес функции, далее ее можно либо переопределить нативно либо вообще удалить в надежде на то, что при запуске в debug имя нужной функции вылезет и тогда можно было бы уже из java переопределять...

хотя может есть путь проще, что -то последнее время мозг не работает :) не зря же я подпись сменил )))