标记通过放大/缩小来改变位置

时间:2014-08-22 14:59:37

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

我正在使用Google Maps API v2 for Android,我想在地图上放置几个标记。我有以下代码

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

       {
        View rootView = inflater.inflate(R.layout.fragment_map, container, false);

        MapFragment fm = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
        map = fm.getMap();
        rootView.findViewById(R.id.map_hybrid).setSelected(true);


        map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
        map.getUiSettings().setCompassEnabled(true);

        CameraPosition cameraPosition = new CameraPosition.Builder()
                                                .target(new LatLng(39.15326,-9.362926))
                                                .zoom(15)
                                                .build();
        MapFragment.newInstance(new GoogleMapOptions()
                        .camera(cameraPosition));

        map.addMarker(new MarkerOptions().position(new LatLng(39.15326,-9.362926))
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.btn_map_home))); 
        while(i < mapInfo.size())
        {
            BitmapDescriptor mapIcon;

            ... changes the resource of the mapIcon accordingly...

            map.addMarker(new MarkerOptions()
                            .draggable(false)
                            .title(((ArrayList<String>) mapInfo.get(i)).get(3))
                            .position(new LatLng(((ArrayList<Double>) mapInfo.get(i)).get(0), ((ArrayList<Double>) mapInfo.get(i)).get(1)))
                            .icon(mapIcon));
            i = i + 1;
        }   

每当我放大和缩小时,图标就会移动。我希望它们得到修复

编辑: 图像解释了这个问题。 position of the marker zoomed out position of the marker zoomed it

1 个答案:

答案 0 :(得分:0)

最常见的问题是你用作标记的图像。 您必须非常小心,您的自定义标记指向默认标记的相同点,或者一旦缩小到足够的标记,它就不会指向同一个点。

http://i.stack.imgur.com/QekbY.jpg

如果你使用这样的东西:

http://i.stack.imgur.com/nTAtP.png

最可能的结果是失真很多(缩小的越多,效果越差!)

希望这能帮到你!