2011-01-07 3 views
1

Я в настоящее время Google Map активность, которая, по-видимому работает хорошо, но не показывает карту (это звучит глупо!)Android Google Maps показывает активность только крестики

Вот картина, которая сделает вас лучше понять моя проблема: alt text

Я уже подтвердил свой apiKey, проверил учебник снова и снова, и даже манифест, кажется, ничего не пропускает.

я получаю только это на ADB:

276 Вт MapActivity Переработка диспетчеру [email protected]

276 MapActivity V Переработка карта объекта.

51 GpsLocationProvider D setMinTime 1000

276 MapActivity I Обработка уведомлений об изменениях сети: CONNECTED

276 MapActivity E Не удалось получить соединение фабрики клиент

Кто-нибудь есть понятия о том, что может быть причиной этого?

Спасибо.

ответ

2

бежит приложение, подписанное с ключом из вашего хранилища ключей, или отладить ключ (нажав запустить в затмении будет подписать APK с ключ отладки и установить его на устройство - будь то эмулятор или физическое устройство).

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

Посмотрите на раздел отладки: http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint

+0

Я все еще использую его с помощью отладочной клавиши , в эмуляторе. Это означает, что мне не нужно связывать приложение сейчас с моим ключом, верно? Я сделал все эти шаги правильно. – dwbrito

+0

Вам все равно нужно получить ключ карты для использования с отладочным ключом для эмулятора. Если вы следуете инструкциям, вам нужно будет получить хеш MD5 из использования затмения debug.keystore. Затем, как только вы закончите свое приложение и подписали его со своим собственным хранилищем ключей, вам понадобится ключ карты для этой версии. – Scoobler

+0

Но у меня есть apiKey, который я получил из хеша md5 из debug.keystore! Благодарим вас за регистрацию ключа для Android Maps! Ваш ключ: .... Но он никогда не работал. – dwbrito

0

Он также покажет карту, как, что, если вы отправить его поддельный широта/долгота пара, где нет никаких полезных данных карты, например. «geo fix 0.0 0.0» (Северный полюс)

Попробуйте «geo fix -0.1 51.5» (над Южным Лондоном), где есть данные карты Google.

0

Проблема была в том, что координата была неправильной, и таким образом карта была настолько увеличена, что она не смогла ничего показать.

Я уменьшил масштаб и я увидел карту; поэтому это была проблема с координатами, а не проблема с ключом/картой.

Для тех, кто не может уменьшить в этих случаях добавьте в код

mapView.setBuiltInZoomControls(true); 

и в макете

android:clickable="true" 
2

Если вы используете setSatellite(boolean) и setStreetView(boolean), то вы можете столкнуться с такими ситуации. Это ошибка в представлении карты. Используйте только один из этих двух методов, или вы можете попробовать некоторые комбинации этих двух. Несколько раз, использование только одного из них иногда решает проблему, вам нужно использовать комбинацию обоих ... как в моем конкретном случае.

streetView.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     mapView.invalidate(); 
     mapView.setSatellite(false); 
     //mapView.setStreetView(true);    
     SharedPreferences.Editor editor = preferences.edit(); 
     editor.putBoolean("satelliteView", false); 
    } 
}); 

satelliteView.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     mapView.invalidate(); 
     mapView.setStreetView(false); 
     mapView.setSatellite(true); 
    } 
}); 
+0

@LPL Nice edit :) – scraimer

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