【问题标题】:Add marker on map ANDROID在地图 ANDROID 上添加标记
【发布时间】:2014-09-22 17:29:14
【问题描述】:

晚安, 我在滑动选项卡中有一个带有地图的应用程序,但我希望该地图选择一个点并从该点开始。

提前谢谢你。

附上JAVA:

public class Mapa extends Fragment {

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

    View android = inflater.inflate(R.layout.mapa_3, container, false);

    return android;
}

@Override
public void onDestroyView() {
    super.onDestroyView();
    Fragment f = getFragmentManager().findFragmentById(R.id.mapFragment);
    if (f != null)
        getFragmentManager().beginTransaction().remove(f).commit();
}

}

布局:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/map_container"
    tools:context=".Mapa" >

    <fragment 
        android:id="@+id/mapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment" />

</RelativeLayout>

【问题讨论】:

    标签: android eclipse api google-maps-android-api-2


    【解决方案1】:

    我猜你想在地图上添加一个标记并设置相机来查看它。这是实现它的方法(更多信息herehere):

    GoogleMap map;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
    
        View android = inflater.inflate(R.layout.mapa_3, container, false);
    
        final LatLng position = new LatLng(MARKER_LATITUDE, MARKER_LONGITUDE);
    
        // marker
        map = ((MapFragment) getSupportFragmentManager().findFragmentById(R.id.mapFragment)).getMap();
        map.addMarker(new MarkerOptions()
            .position(position)
            .title("Hello world"));
    
        // camera position
        map.setOnCameraChangeListener(new OnCameraChangeListener()
        {
            @Override
            public void onCameraChange(CameraPosition arg0)
            {
                CameraUpdate cu = CameraUpdateFactory.newLatLngZoom(position, 14);
                map.animateCamera(cu);
                map.setOnCameraChangeListener(null);
            }
        });
        return android;
    }
    

    【讨论】:

    • 我有错误:map = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment)).getMap(); "无法从 Fragment 投射到 MapFragment"
    • 我修复了代码,将 getFragmentManager() 更改为 getSupportFragmentManager()。
    • 感谢帮助,但我在 getSupportFragmentManager() 上有一个错误:“方法 getSupportFragmentManager() 未定义 Mapa 类型”
    • 确保从支持库重新导入。
    • 同样的错误:方法 getSupportFragmentManager() 未定义 Mapa 类型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    相关资源
    最近更新 更多