지도 뷰를 축소했을 때 왜 내 아이콘이 바다 위로 나타나는지 알아 내려고했지만 점을 확대하면 정확합니다.축소했을 때 잘못된 위치에 안드로이드 맵보기 아이콘이 있습니다.
여기 내 코드입니다 :
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview1);
mapView.setBuiltInZoomControls(true);
MapController mapController = mapView.getController();
//set up test points
point = new GeoPoint(25982160, -80358564);
showAnimatedMarker(point, "true");
point = new GeoPoint(34023084, -84781697);
showAnimatedMarker(point, "Test");
point = new GeoPoint(40759508, -73987061);
showAnimatedMarker(point, "Yo YO YO");
point = new GeoPoint(34152852, -118336107);
showAnimatedMarker(point, "Boom shakalaka");
point = new GeoPoint(-23564595, -46652759);
showAnimatedMarker(point, "Testing having a real long name");
mapController.setZoom(4);
mapController.animateTo(point);
}
public void showAnimatedMarker(GeoPoint point, String locationName)
{
//animate the marker
RelativeLayout v = (RelativeLayout) View.inflate(this, R.layout.markerlayout, null);
final ImageView marker = (ImageView) v.findViewById(R.id.marker);
final TextView markerText = (TextView) v.findViewById(R.id.markerText);
final String locName = locationName;
marker.post(new Runnable() {
@Override
public void run() {
markerText.setText(locName);
AnimationDrawable markerImage = (AnimationDrawable)marker.getDrawable();
markerImage.start();
}
});
mapView.addView(v, 0, new MapView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, point, MapView.LayoutParams.BOTTOM_CENTER));
}
여기 무슨 뜻인지 보여주는이 사진이고, 하나는 축소되고 하나는 캘리포니아 위치로 확대된다.
도움이 될 것입니다.
편집 :
여기내 업데이트 된 코드는
MapController mapController = mapView.getController();
MyOverlay testOverlay;
//set up test points
point = new GeoPoint(25982160, -80358564);
//showAnimatedMarker(point, "true");
testOverlay = new MyOverlay(this, mapView, point);
mapOverlays.add(testOverlay);
point = new GeoPoint(34023084, -84781697);
//showAnimatedMarker(point, "Test");
testOverlay = new MyOverlay(this, mapView, point);
mapOverlays.add(testOverlay);
point = new GeoPoint(40759508, -73987061);
//showAnimatedMarker(point, "Yo YO YO");
testOverlay = new MyOverlay(this, mapView, point);
mapOverlays.add(testOverlay);
point = new GeoPoint(34152852, -118336107);
//showAnimatedMarker(point, "Boom shakalaka");
testOverlay = new MyOverlay(this, mapView, point);
mapOverlays.add(testOverlay);
point = new GeoPoint(-23564595, -46652759);
//showAnimatedMarker(point, "Testing having a real long name");
testOverlay = new MyOverlay(this, mapView, point);
mapOverlays.add(testOverlay);
mapController.setZoom(4);
mapController.animateTo(point);
mapView.invalidate();
}
내 텍스트 뷰가 옆에있는 아이콘을 눌러하지만, 심지어 textview.settext와 = ""것을 알아 냈 확인; 그것은 완전히 잘못된 위치에 당신이 축소 할 때 :(. – firefistace