Комментарии 22
По теме карт для Android — mapp.android-libraries.com — компонента для разработки кастомных оффлайновых карт.
+1
А есть возможность наложить на какую-то из карт своё изображение?
Например вся карта отображается как карты google, но один микрорайон города — это моя картинка. И соответственно что бы были те же возможности зума, поворота и прокрутки карты.
Например вся карта отображается как карты google, но один микрорайон города — это моя картинка. И соответственно что бы были те же возможности зума, поворота и прокрутки карты.
0
А что насчёт OSM?
+1
Там тоже есть какие-то решения, но я не смотрел ещё.
Вот что-то типа этого: code.google.com/p/osmdroid/
На сколько это всё работает не знаю, ещё не пробовал.
Вот что-то типа этого: code.google.com/p/osmdroid/
На сколько это всё работает не знаю, ещё не пробовал.
0
Есть одна замечательная библиотека. Эх грех мне ее рекламировать :)
Но любителям векторных карт подойдет code.google.com/p/mapsforge/.
И еще немного не по теме вопрос.
Кто-нибудь знает как можно вызывать код из другого приложения, по-типу плагина. Обычная схема работы, что вы в приложение встраиваете карту и т.п., что конечно хорошо не всегда самое лучшее.
А возможно ли наоборот, вставить слой в существующее картографическое приложение, например в Google Maps? Что надо сделать для этого карто-приложению и слое-приложению?
Вроде как сервис не работает, так как связано с UI… Не передавать же байты между приложениями, особенно если картинки нужны.
Но любителям векторных карт подойдет code.google.com/p/mapsforge/.
И еще немного не по теме вопрос.
Кто-нибудь знает как можно вызывать код из другого приложения, по-типу плагина. Обычная схема работы, что вы в приложение встраиваете карту и т.п., что конечно хорошо не всегда самое лучшее.
А возможно ли наоборот, вставить слой в существующее картографическое приложение, например в Google Maps? Что надо сделать для этого карто-приложению и слое-приложению?
Вроде как сервис не работает, так как связано с UI… Не передавать же байты между приложениями, особенно если картинки нужны.
+1
Дополнение по тому как делать релизную версию, годную для выкладывания на Android Market:
1) Генерируем приватный ключ, который будет использоваться для подписи вашего APK файла:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 (keytool — стандартная утилита из состава JDK, например она лежит тут: c:\Program Files\Java\jdk1.5.0\bin\)
заполняем ответы на вопросы (пароль, имя, организация, страна и тд)
В результате получаем в текущей дирректории файл: my-release-key.keystore
2) получаем «отпечаток» с ключа:
keytool -list -alias alias_name -keystore my-release-key.keystore -storepass password -keypass password
Результат:
Certificate fingerprint (MD5): 2B:72:AB:05:EE:98:C5:4C:12:9F:04:F3:DB:25:FE:A2
3) генерируем Android Maps API key:
Идем на Sign Up for the Android Maps API страницу и вставляем в поле внизу полученный ранее «отпечаток» 2B:72:AB:05:EE:98:C5:4C:12:9F:04:F3:DB:25:FE:A2
Результат — наш релизный ключ для карт «0Pt9RihjZq7zjNeNXafCD0ll2FPS_TPffQS90zA»
который используем в наших лейаутах:
Генерация подписанного APK:
Правый клик на проекте в Eclipse: Android Tools > Export Signed Application Package, указываем путь к нашему my-release-key.keystore и вводим пароль
Источники:
Signing Your Applications
Obtaining a Maps API Key
Android Maps API Key Signup
1) Генерируем приватный ключ, который будет использоваться для подписи вашего APK файла:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 (keytool — стандартная утилита из состава JDK, например она лежит тут: c:\Program Files\Java\jdk1.5.0\bin\)
заполняем ответы на вопросы (пароль, имя, организация, страна и тд)
В результате получаем в текущей дирректории файл: my-release-key.keystore
2) получаем «отпечаток» с ключа:
keytool -list -alias alias_name -keystore my-release-key.keystore -storepass password -keypass password
Результат:
Certificate fingerprint (MD5): 2B:72:AB:05:EE:98:C5:4C:12:9F:04:F3:DB:25:FE:A2
3) генерируем Android Maps API key:
Идем на Sign Up for the Android Maps API страницу и вставляем в поле внизу полученный ранее «отпечаток» 2B:72:AB:05:EE:98:C5:4C:12:9F:04:F3:DB:25:FE:A2
Результат — наш релизный ключ для карт «0Pt9RihjZq7zjNeNXafCD0ll2FPS_TPffQS90zA»
который используем в наших лейаутах:
<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="0Pt9RihjZq7zjNeNXafCD0ll2FPS_TPffQS90zA"
/>
Генерация подписанного APK:
Правый клик на проекте в Eclipse: Android Tools > Export Signed Application Package, указываем путь к нашему my-release-key.keystore и вводим пароль
Источники:
Signing Your Applications
Obtaining a Maps API Key
Android Maps API Key Signup
+5
Интересно зачем эти apiKey вообще нужны? Для статистики что ли?
0
Думаю для контроля(статистика, баны) и возможности дальнейшей монетизации в будущем (можно сделать встроенную рекламу, платные ключи без рекламы, платные ключи с более полной инфой)
+2
Хороший туториал. Спасибо автору. Однако в строчке, в которой задается положение пользователя, происходит сначала взятие целой части от долготы и широты, а потом уже приведение к необходимому виду, что приводит к неправильному положению на карте. Поправьте пожалуйста.
0
Кстати, да. А исправляется заменой
на
// Перемещаем карту на заданные координаты
cMapController.animateTo(new GeoPoint((int) location.getLatitude() * 1000000, (int) location.getLongitude() * 1000000));
на
// Перемещаем карту на заданные координаты
double lat = location.getLatitude();
double lng = location.getLongitude();
GeoPoint point = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
mMapController.animateTo(point);
0
Огромное спасибо за статью.
Хотя всё равно пришлось несколько часов пыхтеть и проклинать скудность информации в интернете про mapkit, пока опытным путём не дошёл до того, как правильно подключать либы для него и включать зависимости в Itellij IDEA (к эклипсу физическая неприязнь).
Хотя всё равно пришлось несколько часов пыхтеть и проклинать скудность информации в интернете про mapkit, пока опытным путём не дошёл до того, как правильно подключать либы для него и включать зависимости в Itellij IDEA (к эклипсу физическая неприязнь).
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Интеграция карт в ваше Android-приложение