我正在使用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;
}
每当我放大和缩小时,图标就会移动。我希望它们得到修复
编辑: 图像解释了这个问题。
答案 0 :(得分:0)
最常见的问题是你用作标记的图像。 您必须非常小心,您的自定义标记指向默认标记的相同点,或者一旦缩小到足够的标记,它就不会指向同一个点。
http://i.stack.imgur.com/QekbY.jpg
如果你使用这样的东西:
http://i.stack.imgur.com/nTAtP.png
最可能的结果是失真很多(缩小的越多,效果越差!)
希望这能帮到你!