谷歌地图版本2不显示 - 安卓

时间:2013-06-20 07:56:03

标签: android android-mapview android-maps

我正在使用google map版本2。我收到API密钥并将其放在manifest中。我可以在某些设备中查看地图,但是当我在不同的设备中编译相同的应用程序时,我得到空白屏幕而不是显示地图。任何人都可以指导我这个

    FragmentManager myFragmentManager = getFragmentManager();
    MapFragment myMapFragment = (MapFragment)myFragmentManager.findFragmentById(R.id.map);
    myMap = myMapFragment.getMap();

     if (myMap == null) {
         myMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                                .getMap();
     }
    myMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
    myMap.setMyLocationEnabled(true);
    myMap.setOnMyLocationChangeListener(this);

1 个答案:

答案 0 :(得分:0)

<强> activity_map.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<强> MapActivity.java

public class MapActivity extends Activity {

private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);

    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
            .getMap();

    //modify below according to your requirement
    map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
    map.setMyLocationEnabled(true);
    ..
    ..
    ..

在清单文件中添加以下内容:

<permission
    android:name="com.yourpackage.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

  <uses-permission android:name="com.yourpackage.permission.MAPS_RECEIVE" />

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

  <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

   <application
       ........ >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="your_api_key" />

当然,您必须使用其他清单参数,例如活动名称和其他。

然后你必须将google play服务库引用到你的项目中 按照此链接安装google play service sdk Install the Google Play Services SDK

然后

Your Project--->Right Click-->Properites-->Android-->Add

使用我在上述方法中提及的内容,选择您导入工作区的google-play-services sdk

最后,选择你的android sdk目标

  

Google API版本8

根据您的要求

或其他Google API版本。

此外,如果您有任何疑惑,可以关注此官方链接:Google Maps Android API v2

更新后的代码:

使其在较低版本中运行:

<强> activity_map.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      class="com.google.android.gms.maps.SupportMapFragment"/>

<强> MyMapActivity.java

FragmentManager fragmentManager = getSupportFragmentManager();
SupportMapFragment mapFragment =  (SupportMapFragment)
fragmentManager.findFragmentById(R.id.map);
map = mapFragment.getMap();

谢谢!