Java 实现Google Maps Android时出错-无法将SupportMapFragment解析为类型

Java 实现Google Maps Android时出错-无法将SupportMapFragment解析为类型,java,android,eclipse,google-maps,Java,Android,Eclipse,Google Maps,我刚开始编写android应用程序,当我试图将Google地图实现成一个片段时,出现了这个错误。我在网上冲浪,我发现这是一个非常普遍的问题,但我也发现所有其他解决方案在我的情况下都不起作用。我将所有导入的代码部分粘贴到下面: public class GeolocalizzazioneFragment extends Fragment { private final LatLng CENTER_POINT = new LatLng(44.22625, 12.06861); @Override

我刚开始编写android应用程序,当我试图将Google地图实现成一个片段时,出现了这个错误。我在网上冲浪,我发现这是一个非常普遍的问题,但我也发现所有其他解决方案在我的情况下都不起作用。我将所有导入的代码部分粘贴到下面:

public class GeolocalizzazioneFragment extends Fragment {
private final LatLng CENTER_POINT = new LatLng(44.22625, 12.06861);

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_geolocalizzazione, container, false );
        //super.onCreateView(savedInstanceState);
        //setContentView(R.layout.activity_main);
        //ottieni il controllo del fragment su cui caricare la mappa
        GoogleMap map = ((MapSupportFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        //centra la mappa su CENTER_POINT, con zoom 5
        //map.moveCamera(CameraUpdateFactory.newLatLngZoom(CENTER_POINT, 5));
        //centra la mappa sulla posizione del device
        map.setMyLocationEnabled(true);
        //animazione dello zoom sulla nostra animazione all'apertura
        //Parametri: livello di zoom=10; durata animazione = 1000 millisecondi (1 sec)
        map.animateCamera(CameraUpdateFactory.zoomTo(10), 1000, null);

        try{
            URL url = new URL("### url where I get xml with location marker datas ###");  //prendo l'URL del file XML dal quale prendo i dati dei POI
            URLConnection conn = url.openConnection();          //instauro la connessione col file XML

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            org.w3c.dom.Document doc = builder.parse(conn.getInputStream());

            NodeList nodes = doc.getElementsByTagName("marker");
            for (int i=0; i<nodes.getLength(); i++)
            {
                Element item = (Element) nodes.item(i);
                String name = item.getAttribute("name");
                String address = item.getAttribute("address");
                String stringLat = item.getAttribute("lat");
                String stringLong = item.getAttribute("long");
                String icon = item.getAttribute("icon"); //assigned variable for the XML icon attribute
                Double lat = Double.valueOf(stringLat);
                Double lon = Double.valueOf(stringLong);

                // map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
                // map.setMyLocationEnabled(true);

                map.addMarker(new MarkerOptions()
                                .position(new LatLng(lat,lon))
                                .title(name)
                                .snippet(address)
                );
            }
        }catch (Exception e){
            e.printStackTrace();

        }


        return super.onCreateView(inflater, container, savedInstanceState);
    }

    }
如果您需要代码的其他部分,请询问,我将粘贴:)


备注:我的IDE是Eclipse。

尝试以下步骤,可能您遗漏了一些步骤:

  • 将google play服务库复制到您的库文件夹中
  • 将android支持的v4库复制到您的库文件夹中
  • 将google play服务库和android支持的v4添加到构建路径中
  • 将google play服务项目导入您的工作区选择您的 项目并右键单击>属性>android>添加项目库( 谷歌播放服务)并且不要勾选“是图书馆”
  • 选择google play服务项目,右键单击并转到 属性>android>勾选“是库”
  • 使用FragmentActivity和使用Support来使用受支持的库
  • 清理并重建,退出eclipse,卸载 在您的设备上安装之前的应用程序,加载eclipse并执行另一个清理和删除操作 重建

这一行Google地图=((MapSupportFragment)getFragmentManager().findFragmentById(R.id.map)).getMap()有错误吗?就是那条线@Maven可能您缺少com.google.android.gms.maps.SupportMapFragment.No.的import语句。我导入了它,但我认为我解决了分割代码的问题(尝试了两个小时之后)。我写了这篇文章,SupportMapFragment没有更多错误:MapFragment map=((MapFragment)getFragmentManager().findFragmentById(R.id.map));GoogleMap mappa=map.getMap();但是现在,当我遇到我的Galaxy note 2时,应用程序在启动前崩溃了:/你需要导入支持jaralso@JoaoBiriba我将按照您的步骤进行操作,并将结果写给您,非常感谢您提供清晰的分步指南:D@JoaoBiriba我在第四点上,当我尝试添加项目库文件夹时,我无法浏览它。这是一个快照:按照Ok中的步骤创建一个google play服务项目,我必须勾选“将项目复制到工作区”??抱歉,我才刚开始使用android:/是的,它更好,别担心,我们是来寻求帮助的:)
GoogleMap map = ((MapSupportFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();