yandexmobile / yandexmapkit-android

Yandex Map Kit for Android
161 stars 65 forks source link

Yandex map #215

Closed DenoBY closed 8 years ago

DenoBY commented 8 years ago

Может, кто знает как реализовать yandex map на android, чтобы она работала быстро и без лагов? Пробовал использовать yandex mapkit библиотеку, но что-то там не все гладко работает, затем пробовал через API, и выводить в WebView, но снова есть проблемы. Как-то это все не то, либо я плохо реализовал.

Хочу добиться такого же результата, как в этом приложении: https://play.google.com/store/apps/details?id=ru.taximaster.tmtaxicaller.id0960&hl=ru

Может, кто знает, как там реализована карта yandex?

p.s Есть подозрения что приложения использует карту osm и накладывает на ней тайлы yandex map

lassana commented 8 years ago

Судя по скринам, там мапкит.

https://lh3.googleusercontent.com/9Hwt4Gxb7LQBP_2X-Amj3EdpGITAtdSsVrXvzq6uaDOiHz7MbVmHVGNTCk3oV_quUv8=h900

https://github.com/yandexmobile/yandexmapkit-android/blob/master/yandexmapkit-library/res/drawable-xhdpi/ymk_zoom_plus.png

DenoBY commented 8 years ago

@lassana когда ты ей пользуешься там не чувствуется что это mapkit) Там вроде как была взята osm и на неё перенесена yandex карта по средством тайлов. Это вообще реально и на сколько практично?

lassana commented 8 years ago

osm

Имеете ввиду osmdroid? Да, реально, т.к. тайлы от Яндекс есть картинки. Вот тут описана идея, но я не уверен, что такие действия удовлетворяют лицензии Яндекс карт.

Мб яндексовые тайлы можно отображать и через GoogleMapsV2 через свой TileProvider.

DenoBY commented 8 years ago

@lassana чем грозит нарушения пользовательского соглашения? Если нормальный способ отображения yandex map быстра и без лагов?

От yandex mapkit android библиотек я смог добиться hd модели карты приблизил на 17 и вроде не все так плохо (но карта все равно притормаживает на планшете), кэшировать тут нельзя прогрузить область зарание тоже.

Может вы знаете решения такой проблемы: Не смог добиться что бы напрямую получить адрес через полученные координаты. Когда совершаю какое то действие, например двойное нажатие тогда могу получить адрес. А так что бы напрямую передать координаты и вернула адрес что то не как)

mksaint13 commented 8 years ago

Попробуйте указать в xml для mapView  параметр android:tag="static"

https://github.com/yandexmobile/yandexmapkit-android/blob/master/yandexmapkit-sample/res/layout/sample9.xml

Это позволит использовать стандартную отрисовку во View и дальше применится оптимизация самого андройда. Посмотрите по скорости устраивает ли вас отрисовки карты в приложении https://play.google.com/store/apps/details?id=com.edadeal.android

DenoBY commented 8 years ago

@mksaint13 Добавил строчку android:tag="static" и это дало совсем другой результат. Спасибо большое.

Может вы знаете еще как на прямую получить названия улицы и номер дома зная координаты?

По этому примеру я могу получить при каком нибудь действии. https://github.com/yandexmobile/yandexmapkit-android/blob/master/yandexmapkit-sample/src/ru/mapkittest/geocode/OverlayGeoCode.java

Я хочу напрямую передать туда координаты и получить адрес (как это правильно сделать?). Сейчас я это делаю в обход библиотеке а хотелось бы это делать через неё.

mksaint13 commented 8 years ago

getMapController().getDownloader().getGeoCode(new GeoCodeListener {....}, getMapController().getGeoPoint(КООРДИНАТЫ));

Вот.