我正在使用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);
答案 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();
谢谢!