6

Google Maps Android API v2 を使用して地図にいくつかのマーカーを追加すると、マーカーが正しい位置に設定されず、ズーム時に移動します。

ズームインすると、ズームに関連する係数によって移動されたかのように、正しい位置に近づきます。

どうしたの?

ズームインの例:

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

断片

public class CenterMapFragment extends Fragment {

    private GoogleMap mMap;
    private List<Center> mCenterList;

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

        return inflater.inflate(R.layout.center_map_fragment, container, false);
    }

    @Override
    public void onActivityCreated (Bundle savedInstanceState){

        super.onActivityCreated(savedInstanceState); 

        mMap = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();

        if (mMap != null) {

            mCenterList = MyApplication.dbHelper.getAllCenter();

            for(Center center : mCenterList){

                mMap.addMarker(new MarkerOptions().position(new LatLng(center.lat, center.lng)).icon(BitmapDescriptorFactory
                                .fromResource(R.drawable.myicon)));

            }
        }

    }

}

レイアウト

<?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.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
4

2 に答える 2

0

ウィンドウ情報を表示するには、「mMap」で setInfoWindowAdapter を使用するか、マーカーにタイトルを設定する必要があります。

アイコンについてですが、ズームアウトすると動いているように見えますが、アンカーは常に地図上の同じ場所を指しています。使用している画像が Google のアイコン パターンに従っていない場合は、アンカーを設定できます (画像の下部の中央にあるアンカー)。そのためには、MarkerOptions のメソッド anchor(u,v)を使用する必要があります

于 2013-04-19T12:54:29.147 に答える