onC*_*ate 2 android google-maps
我的MapFragment有xml文件
<?xml version="1.0" encoding="utf-8"?>
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment" />
Run Code Online (Sandbox Code Playgroud)
和片段使用它:
public class CallistoMapFragment extends MapFragment {
private GoogleMap mMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.map_fragment, null);
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
setUpMap();
return v;
}
private void setUpMap() {
mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title(
"Marker"));
}
Run Code Online (Sandbox Code Playgroud)
尝试编译时出现错误
11-20 15:31:15.343:E / AndroidRuntime(10705):android.view.InflateException:二进制XML文件第6行:夸大类片段的错误
android清单中的API密钥正确。怎么了
使用:
XML:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
/>
Run Code Online (Sandbox Code Playgroud)
类
GoogleMap mMap;
SupportMapFragment mapFrag;
Now set it:
if (mMap == null) {
mapFrag= (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
mMap = mapFrag.getMap();
// Check if we were successful in obtaining the map.
if (mMap != null) {
// The Map is verified. It is now safe to manipulate the map.
}
}
Run Code Online (Sandbox Code Playgroud)
还要在清单文件中添加此元标记。
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="myApiKey"/>
Run Code Online (Sandbox Code Playgroud)
在我的情况下,问题是由于我的元数据标签自动放置在应用程序标签之外,如下所示。
<application android:label="My.Mobile"></application>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="myApiKey"/>
Run Code Online (Sandbox Code Playgroud)
在应用程序标签中放置元数据标签后,问题消失了:
<application android:label="My.Mobile">
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="myApiKey"/>
</application>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6530 次 |
| 最近记录: |