首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌地图第2版没有显示-- android

谷歌地图第2版没有显示-- android
EN

Stack Overflow用户
提问于 2013-06-20 07:56:02
回答 1查看 682关注 0票数 1

我正在使用google map version2。我得到了API密钥,并将其放在manifest中。我可以在一些设备中查看地图,但是当我在不同的设备上编译相同的应用程序时,我会得到一个空白的屏幕来显示地图。有人能指点我吗?

代码语言:javascript
复制
    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);
EN

回答 1

Stack Overflow用户

发布于 2013-06-20 08:28:42

activity_map.xml

代码语言:javascript
复制
<?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

代码语言:javascript
复制
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);
    ..
    ..
    ..

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

代码语言:javascript
复制
<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服务库到您的项目中。

按照下面的链接安装google服务sdk 安装Google服务SDK

然后

代码语言:javascript
复制
Your Project--->Right Click-->Properites-->Android-->Add

选择google-play-services sdk,使用上述方法将其导入工作区。

最后,选择android目标

Google版本8

或其他谷歌API版本,根据您的要求。

此外,如果您有任何混淆,您可以使用这个android官方链接:v2

更新代码:

要使它在较低版本中工作:

activity_map.xml

代码语言:javascript
复制
<?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

代码语言:javascript
复制
FragmentManager fragmentManager = getSupportFragmentManager();
SupportMapFragment mapFragment =  (SupportMapFragment)
fragmentManager.findFragmentById(R.id.map);
map = mapFragment.getMap();

谢谢!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17208190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档