2016-04-27 3 views
1

в моем приложении для Android Я добавил активность карты с помощью процедуры Android Studio (add-> new activity -> Google -> Map). Я следовал этому примеру: https://developers.google.com/maps/documentation/android-api/start#step_2_install_the_google_play_services_sdk.Android: просмотр карты не работает

Но если я открою активность карты, это странно, я вижу только карту с логотипом Google, но полностью пустую (я прилагаю скриншот). И я не вижу сообщения об ошибке соединения или ключа. Зачем?

PS Я только добавил строку «import com.mycompany.myapp.R» в java-файле активности, потому что в исходном файле создайте с автоматической процедурой, я вижу все «R» в этом файле красным цветом ошибка.

Сведение:

1) У меня есть добавить карту активности ничуть автоматическая процедура Android-студия 2) Я следовал процедуре и скопировать ключ в мое приложение (я не вижу ключ или сертификат об ошибке сообщение) 3) Я только добавляю строку об импорте com.mycompany.myapp.R 4) Если я тестирую свое реальное устройство, я вижу пустую карту.

Thank!

Код деятельности:

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
 
    xmlns:map="http://schemas.android.com/apk/res-auto" 
 
    xmlns:tools="http://schemas.android.com/tools" 
 
    android:id="@+id/map" 
 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    tools:context="com.mycompany.myapp.Views.myFragmentMap" />

Код Java файла, связанные с деятельностью:

package com.mycompany.myapp.Views; 
 

 
import android.support.v4.app.FragmentActivity; 
 
import android.os.Bundle; 
 

 
import com.google.android.gms.maps.CameraUpdateFactory; 
 
import com.google.android.gms.maps.GoogleMap; 
 
import com.google.android.gms.maps.OnMapReadyCallback; 
 
import com.google.android.gms.maps.SupportMapFragment; 
 
import com.google.android.gms.maps.model.LatLng; 
 
import com.google.android.gms.maps.model.MarkerOptions; 
 

 
//I have added only this one! 
 
import com.mycompany.myapp.R; 
 

 
public class myFragmentMap extends FragmentActivity implements OnMapReadyCallback { 
 

 
    private GoogleMap mMap; 
 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.fragment_myapp_map); 
 
     // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
 
       .findFragmentById(R.id.map); 
 
     mapFragment.getMapAsync(this); 
 
    } 
 

 

 
    /** 
 
    * Manipulates the map once available. 
 
    * This callback is triggered when the map is ready to be used. 
 
    * This is where we can add markers or lines, add listeners or move the camera. In this case, 
 
    * we just add a marker near Sydney, Australia. 
 
    * If Google Play services is not installed on the device, the user will be prompted to install 
 
    * it inside the SupportMapFragment. This method will only be triggered once the user has 
 
    * installed Google Play services and returned to the app. 
 
    */ 
 
    @Override 
 
    public void onMapReady(GoogleMap googleMap) { 
 
     mMap = googleMap; 
 

 
     // Add a marker in Sydney and move the camera 
 
     LatLng sydney = new LatLng(-34, 151); 
 
     mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
 
    } 
 
}

Google карты ар я файл, в котором я скопировал мой ключ:

<resources> 
 

 
    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false"> 
 
     AIza.... (and the correct code imported from Google) 
 
    </string> 
 
</resources>

И это экран деятельности enter image description here

+0

Проверьте свои журналы, будет ошибка в отношении ключа API. –

+0

просто запускается после того, как он может загрузить обновление для PlayStore –

ответ

0

ли вы запустить приложение прямо после установки Google Play услуги SDK?

Даниэль прав, вы можете проверить журналы на наличие ошибок, которые могут быть связаны с ключом API.

Get a Google Maps API key

Ваше приложение должно ключ API для доступа к серверам Google Maps. Тип ключа, который вам нужен, - это ключ для приложений для Android. Ключ бесплатный. Вы можете использовать его с любыми приложениями, которые вызывают API Android для Google Maps, и поддерживает неограниченное количество пользователей.

использовать учетные данные, представленные в google_maps_api.xml файл, Android студия создаст для вас:

  1. Скопируйте предоставленные учетные данные в файле google_maps_api.xml.
  2. Перейдите в Google Developers Console в своем браузере.
  3. Используйте скопированные учетные данные, чтобы добавить приложение в существующий ключ API или создать новый ключ API. Для получения дополнительной информации см. complete process.

После всех шагов от 1-7 вы получите основное рабочее приложение Google Maps. Я надеюсь, что это помогает. Также здесь предыдущий Google Map on Android do not load SO, чтобы вы могли связать свой опыт.

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