我正在使用google map version2。我得到了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);发布于 2013-06-20 08:28:42
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服务库到您的项目中。
按照下面的链接安装google服务sdk 安装Google服务SDK
然后
Your Project--->Right Click-->Properites-->Android-->Add选择google-play-services sdk,使用上述方法将其导入工作区。
最后,选择android目标
Google版本8
或其他谷歌API版本,根据您的要求。
此外,如果您有任何混淆,您可以使用这个android官方链接: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();谢谢!!
https://stackoverflow.com/questions/17208190
复制相似问题