【发布时间】:2016-09-13 07:51:42
【问题描述】:
我只是想在我的 Android 应用中查看地图,但遇到了一些麻烦。 我一直在关注几个教程,但仍然没有结果。 我从我的 sdk 管理器下载了 google play 服务并正确导入了 google_play_services_lib 我猜。 所以我使用我的包名和我的 SHA1 从 Google Api Console 创建了一个 Google Maps API 密钥,我使用 cmd 以及在 Eclipse 中的 window>preferences>android>build 中找到了它,我在两种方式中都得到了相同的 SHA1,所以我认为它是正确的.
所以我这样设置我的清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.googlemapprova"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<permission android:name="com.example.googlemapprova.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.googlemapprova.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my api key" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
在我的布局文件中,我只创建了一个地图片段
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/textView1"
android:layout_centerHorizontal="true" />
由于教程,我已将 android:name 更改为 class="com.google.android.gms.maps.SupportMapFragment"
然后是我的主要
package com.example.googlemapprova;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.widget.Toast;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
public class MainActivity extends FragmentActivity {
GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
// Loading map
initilizeMap();
initializeUiSettings();
initializeMapLocationSettings();
initializeMapTraffic();
initializeMapType();
initializeMapViewSettings();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onResume() {
super.onResume();
// initilizeMap();
}
private void initilizeMap() {
googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getApplicationContext(), "Sorry! unable to create maps", Toast.LENGTH_SHORT).show();
}
}
public void initializeUiSettings() {
googleMap.getUiSettings().setCompassEnabled(true);
googleMap.getUiSettings().setRotateGesturesEnabled(false);
googleMap.getUiSettings().setTiltGesturesEnabled(true);
googleMap.getUiSettings().setZoomControlsEnabled(true);
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
}
public void initializeMapLocationSettings() {
googleMap.setMyLocationEnabled(true);
}
public void initializeMapTraffic() {
googleMap.setTrafficEnabled(true);
}
public void initializeMapType() {
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
public void initializeMapViewSettings() {
googleMap.setIndoorEnabled(true);
googleMap.setBuildingsEnabled(false);
}
}
我从教程中获得了我的主要代码并对其进行了一些修改,这样我管理我的应用程序不崩溃(如果我不使用此代码,我的应用程序将崩溃)。 this is what i get 我正在使用摩托罗拉 moto g3 手机尝试一下 所以我试图从Play商店在我的手机上下载aLogcat,但我什么也没得到,也许我以错误的方式使用它。 this is the tutorial i used the most
有人可以帮我在我的应用上查看地图吗?我不明白为什么它不起作用 我现在正在尝试获取 Logcat
【问题讨论】:
-
谢谢大家,我尝试使用 android studio 而不是 eclipse,一切都运行良好。在另一个堆栈溢出问题中,有人告诉 eclipse 无法正确读取元数据标签。所以现在我正在使用 android studio 并且它可以工作
标签: java android eclipse google-maps