问题描述
我想获得一个地图片段中我的应用程序工作,我不断地得到一个错误试图让我的GoogleMap对象时。
进口android.app.Fragment;
进口android.os.Bundle;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.ViewGroup;
进口com.google.android.gms.maps.GoogleMap;
进口com.google.android.gms.maps.model.LatLng;
公共类MapFragment扩展片段{
私人GoogleMap的地图;
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
捆绑savedInstanceState){
查看查看= inflater.inflate(R.layout.fragment_map,集装箱,假);
地图=((MapFragment)getFragmentManager()findFragmentById(R.id.map)。)的GetMap()。
返回查看;
}
}
和我frament code是
< XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =match_parent
机器人:layout_height =match_parent>
<按钮
机器人:ID =@ + ID / btnEugene
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentRight =真
机器人:layout_alignParentTop =真
机器人:的onClick =onClick_Eugene
机器人:文本=尤金/>
<按钮
机器人:ID =@ + ID / btnHpc
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentLeft =真
机器人:layout_alignParentTop =真
机器人:的onClick =onClick_HPC
机器人:文本=HPC/>
<按钮
机器人:ID =@ + ID / btnTheGrove
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentTop =真
机器人:layout_centerHorizontal =真
机器人:的onClick =onClick_FG
机器人:文本=森林树丛/>
<片段
机器人:ID =@ + ID /图
机器人:名称=com.google.android.gms.maps.MapFragment
机器人:layout_below =@ + ID / btnTheGrove
机器人:重力=中心
机器人:layout_width =match_parent
机器人:layout_height =match_parent/>
< / RelativeLayout的>
我得到确切的错误是
我是什么做错了吗?
的GetMap()
是德precated。尝试使用<一个href="http://developer.android.com/reference/com/google/android/gms/maps/MapFragment.html#getMapAsync(com.google.android.gms.maps.OnMa$p$padyCallback)"相对=nofollow> getMapAsync
编辑*呵呵,也改变你的类名的东西不同,进口 com.google.android.gms.maps.MapFragment
这是你应该在XML使用类和具有的GetMap()方法:)
I am trying to get a map fragment working within my application and I continue to get an error when trying to get my GoogleMap object.
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.model.LatLng;
public class MapFragment extends Fragment {
private GoogleMap map;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_map, container, false);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
return view;
}
}
And my frament code is
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btnEugene"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:onClick="onClick_Eugene"
android:text="Eugene" />
<Button
android:id="@+id/btnHpc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:onClick="onClick_HPC"
android:text="HPC" />
<Button
android:id="@+id/btnTheGrove"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:onClick="onClick_FG"
android:text="Forest Grove" />
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_below="@+id/btnTheGrove"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
The exact error I am getting is
What am I doing wrong?
getMap()
is deprecated. Try using getMapAsync
EDIT*Oh, also change your class name to something different andimport com.google.android.gms.maps.MapFragment
which is the class you should use in the xml and has the getMap() method :)
这篇关于的GetMap()未定义类型MapFragment的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!