Клуб API Карт

Яндекс карты для Android

Пост в архиве.
CAD101
25 октября 2011, 22:39

Как получить API Key для использования карт в придожениях под Android? И вообще, где можно найти документацию для Yandex Map Kit?

16 комментариев
Королев Михаил
28 января 2016, 05:36
Для начала определитесь API карт или Yandex Map Kit вам нужны...
документацию на  последний давали с инвайтами...
а API Key - получайте на свой сайт свободно http://api.yandex.ru/maps/form.xml - а далее уж браузером какого устройства будут открывать его страницы - неважно.

Нужно, чтобы карта загрузалась не из браузера, а из приложения. А что нужно, чтобы получить инвайт?

Королев Михаил
28 января 2016, 05:36

Просто у Яндекса много продуктов, вы упомянули Yandex Map Kit - это не API Яндекс.Карт, и он предназначен не для создания сайтов а для создания собственных мобильных приложений использующих возможности Мобильных Яндекс.Карт - судя по ответу - не совсем ваша задача :)

Ещё конкретно для Android, а в перспективе и на остальных платформах есть возможность подключать к картам виджеты с собственными слоями (вот скажем мои).

 

Если же нужно просто по ссылке открывать Мобильные карты и показывать точку - просто делайте ссылки такие, какими их делает МЯП (Мобильная Яндекс.Почта) при отсылке местоположения и не надо никаких ключей - у кого есть карты откроется в них, у кого нет - в браузере. 

Нужно чтобы по координатам выдавался адрес. Возможно такое?

Королев Михаил
28 января 2016, 05:36

возможно всё

У меня точно такая проблема. Мне нужно чтобы катра загружалась в определенном окне в нутри моего приложения а не запускало другое приложения с картами.

На сколько я понял. Для начало нужно загрузить библиотеку для Android размещенную на GitHub (https://github.com/yandexmobile/). 
После этого импортиповать эти данные в мой проект и в свойствах проекта добавить в библиокету этот файл classes.jar который находиться в: \yandexmapkit-android-master\yandexmapkit-library\libs\


Далие, для отображения самой карты, в layout'е приложения нужно прописать следующий код:

        android:id="@+id/map"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:apiKey="Мой API-ключ" />

 а в манифесте разришения:

 

 

 

 

 

 

 

  /> 

 (Тут есть и лишние, но каких миминум достаточно для отображения карты я не знаю, возможно чегото не хватает)


Что касаеться самого "кода", то он выглядит так:

 

protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  MapView mMap = (MapView) findViewById(R.id.map);

  MapController mMapController = mMap.getMapController();

  mMapController.setPositionAnimationTo(new   GeoPoint(60.113337, 55.151317)); 


Все это делаю в eclipse (андроид 2.3.3), подскажите, в чем проблема, почему у меня не отображается карта?

Уже разобрался, спасибо. Я неправильно импортировал библиотеки.
Если комуто вдруг понадобится, для версии eclipse 4.2.1 это делаеться так:
Нажимаем правой кнопкой миши на Package Explorer, выбираем Import, в открившемся окне выбираем Android->Existing Android Code Into Workspase, нажимаем некст. Далее, в поле Root Directory, нужно указать путь к папке библиотек, которые мы предварительно скачали. Если вы все сделали правильно то в Package Explorer должно добавиться 2 новых проекта (yandexmapkit-library и YandexMapKitSampleActivity).


Осталось совсем немного - подключить(привязать) эти библиотеки к нашему проекту. Для этого в Package Explorer ищем наш проект, нажимаем на нем правой кнопкой миши и выбираем Properties(свойства). Нахом пункт Android и жмен на add. В открившемся меня выбираем библиотеку - yandexmapkit-library, применяем изменения.

Все, теперь библиотеки подключены к нашему проекту) 

kapusta@kapusta-lab.ru
28 января 2016, 05:36

Подскажите как импортировать в Android Studio

Вроде бы импортировал, нно когда запускаю

MapView mMap = (MapView) findViewById(R.id.map);
MapController mMapController = mMap.getMapController();
mMapController.setPositionAnimationTo(new GeoPoint(60.113337, 55.151317));

Получаю ошибку
java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.animalface.app/ru.animalface.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'ru.yandex.yandexmapkit.MapController ru.yandex.yandexmapkit.MapView.getMapController()' on a null object reference

У Вас по каким то причинам mMap = null, проверьте, правильный ли layout в методе setContentView и является ли map id для mapview в xml разметке этого layout

Так никто и не написал ответ на вопрос этого блога: как же получить ключ для yandexmapkit (для андроид)?
nikitos1980ya,
выше был ответ, но с 2011 года произошло много изменений и на данный момент yandexmapkit заморожен и мы не рекомендуем его использовать в проектах.
ymapsapi,
скажите пожалуйста, какая есть альтернатива, чтобы использовать яндекс карту в приложении на андроид?
nikitos1980ya,
Только вариант использования JS АПИ в webview 
Добрый день, недавно начал пользоваться сервисом Map Kit. Вы привели пример использования различных функций яндекс карт. Но столкнулся с проблемой, что это все необходимо организовать в одно Activitу. К примеру пытаюсь понять, как работает CameraPosition. Я получил координаты местоположения через getWidth и getHeight. Как объяснить cameraPosition, что нужно переместиться в эту точку, а не просто отобразить ее?
f1ll.pro,
основная документация MapKit здесь https://tech.yandex.ru/maps/mapkit/?from=mapsapi.
 Есть справочник по API, просто getting started и примеры c кодом на Github. 
У карты есть метод move https://tech.yandex.ru/mapkit/doc/3.x/concepts/android/mapkit/ref/com/yandex/mapkit/map/Map-docpage/#method_detail__method_move__CameraPosition__Animation__CameraCallback.
Обновлено 30 мая, 18:41