2014-10-15 2 views
1

Я создал карту, используя следующую ссылку http://developer.xamarin.com/guides/android/platform_features/maps_and_location/maps/part_2_-_maps_api/ Я следил за всеми процедурами, упомянутыми в ней, но то, что я получаю, является пустым экраном. В моем приложении Output отображается следующий журнал, в котором выполняется действие карты.xamarin google map не работает

Открытое соединение [ЗАПРОС] DRD (41): 62 | 147 [ЗАПРОС] Закрыть [ЗАПРОС] Обработка ошибок: com.google.maps.api.android.lib6.bd @42a1cef8 не повторить попытку [ЗАПРОС] Повторная попытка: com .google.maps.api.android.lib6.c.au @ 429ced70

Может кто-нибудь скажет мне, почему это происходит.

+0

Обычно это ключевой вопрос. Включили ли вы доступ через консоль google apis? С помощью правильного ключа? И т. Д. Вы также можете получить больше информации, если будете смотреть журнал с вашего устройства (а не только окно вывода). –

+0

@MihaMarkic я включил доступ через консоль google apis и сам создал ключ. – aps87

ответ

2

Как @Miha упомянули, что это связанные с ключами.

В настоящее время вы не получите ни одной карты, отображаемой на карте.

Чтобы получить пример работы, вам нужно сделать несколько вещей.

1) Получите ваш ключа подписи отпечаткам (SHA1) для вашей машины.

Если вы еще не создали свой ключ SHA1 для своего устройства, вам необходимо это сделать первым. Ссылка here описывает, как сгенерировать это с помощью командной консоли.

В результате вы получите SHA1.

2) Получить имя пакета из проекта вы работаете.

Это может быть расположен глядя на Androidсвойства проекта под вкладке Android Manifest. Затем вы увидите текстовое поле для поля . Название пакета.

3) В Google Developer Console вам нужно будет создать приложение вы должны уже не один, а Создать новый Android ключ (Это находится под API, & Auth \ Credentials).

На экране выскочит вы сможете войти в SHA1 ключа и Имя пакета, которые ранее захватили в формате {SHA1}; {Название пакета}.

Это будет возвращаться к вам API ключ, что вы будете использовать в следующем шаге: -

4) В Android Project, посмотреть на источник для AndroidManifest.xml.Вы увидите следующее: -

<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="{some api key}" />  

Enter вы API ключ в том, что вы уже захватили.

5) В Google Developer Console, для проекта, вы также должны помнить, что вы должны включить Google Maps Android API v2, а также разработчика Google Play API. Вы можете найти их под API & auth \ APIs

Тогда вы должны, наконец, иметь возможность запускать демонстрационную версию.

Update 1: -

Добавьте uses-permission для MAPS_RECEIVE, как @leoneboaventura упоминалось также, так что-то вроде следующего: -

<uses-permission android:name="{your-package-name}.permission.MAPS_RECEIVE" /> 
+0

Обновленный ответ с дополнительной информацией (см. * Обновление 1 *) – Pete

+0

спасибо за ответ. – aps87

0

Я просто понял, что было не так в моем случае. Вероятно, из-за правил именования Java, вы должны назвать свой пакет первой буквой в в нижнем регистре. Visual Studio называет наши пакеты следующими правилами именования C#, которые засекречивают первые буквы.

Таким образом, проверить, если этот вопрос не то же самое в результате чего ваша карта, чтобы не открываются, выполнив следующие действия:

1) Убедитесь, что имя пакета начинается с маленькой буквы.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mypackage.android" android:versionCode="1" android:versionName="1.0"> 

Убедитесь, что пакет называется mypackage.android не MyPackage.android.

2) Убедитесь, что имя пакета в двух следующих разрешениях соответствует манифесту имя пакета орфография:

<uses-permission android:name="mypackage.android.permission.MAPS_RECEIVE" /> 
<permission android:name="mypackage.android.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> 

3) Проверьте, если APIKey будет сгенерирован с тем же названием пакета: {вашего сертификата SHA1 отпечаток пальца}: mypackage.android

+0

Обычно имена пакетов в Android начинаются с 'com.', если вы хотите придерживаться традиционных стандартов. Хорошее наблюдение. – Pete

Смежные вопросы