2013-11-22 2 views
2

앱을 만들었습니다. 나는 latitudelongitude을 무작위로 GoogleMap에 생성하고 그 값을 다음 페이지로 전달합니다. 즉 CameraPage입니다. 그러나, 핀이지도 상으로 제대로 떨어지는되지 않습니다 CameraPage에 .. 나는Android - 카메라 줌이 작동하지 않습니다.

MapPage

..

가 스크린 샷을 확인하시기 바랍니다 .. 여전히 작동하지의 camera-zoom 및 다른 방법을 구현하지만, 한

enter image description here

CameraPage

enter image description here

외부 줌 컨트롤없이 카메라의 핀을 확대/축소하는 솔루션이 있습니까 ??

CameraPage가로드되는 때 기본적으로 확대한다

..

편집 :

CODE :

ArrayList<Point> props = new ArrayList<Point>(); 
      props.add(new Point(a_latitude, a_longitude, a_username)); 
      props.add(new Point(b_latitude, b_longitude, b_username)); 
      props.add(new Point(c_latitude, c_longitude, c_username)); 
      props.add(new Point(d_latitude, d_longitude, d_username)); 
      props.add(new Point(e_latitude, e_longitude, e_username)); 
      props.add(new Point(f_latitude, f_longitude, f_username)); 
      props.add(new Point(g_latitude, g_longitude, g_username)); 
      props.add(new Point(h_latitude, h_longitude, h_username)); 
      props.add(new Point(i_latitude, i_longitude, i_username)); 
      props.add(new Point(j_latitude, j_longitude, j_username)); 


    mPaint.setColor(Color.BLACK); 
    mPaint.setTextSize(30); 
    mPaint.setStrokeWidth(DpiUtils.getPxFromDpi(getContext(), 2)); 
    mPaint.setAntiAlias(true);  


    mSpots = new Bitmap[props.size()]; 
    for (int i = 0; i < mSpots.length; i++) 
     mSpots[i] = BitmapFactory.decodeResource(context.getResources(), R.drawable.google_pin_new); 

포인트 클래스 ::

public class Point { 
public double longitude = 0f; 
public double latitude = 0f; 
public String description; 


public Point(double d, double e, String string) { 
    // TODO Auto-generated constructor stub 
    this.latitude = d; 
    this.longitude = e; 
    this.description = string; 

    } 

} 
+0

당신은 무엇을 의미합니까? 제 생각에는 스크린 샷의지도 확대/축소 수준이 카메라에 핀을 넣는 데 사용 된 것과 다릅니다. –

+0

아니요. 화면에서 모두 동일합니다. 즉,지도 화면 및 카메라 화면에서도 볼 수 있습니다. –

+0

코드를 표시 할 수 있습니까? 특히 카메라에 마커를 넣는 데 필요한 코드가 필요합니다. 화면 좌표는 어떻게 결정합니까? –

답변

5

있음 경도와 위도를 사용하여 포인트를 그리는 대신

toScreenLocation 기능을 사용하십시오. 예를 들어, 다음 행은 위치에있는 표식을 그려야하는 좌표를 나타내는 Point을 반환합니다.

android.graphics.Point p = mMap.getProjection().toScreenLocation(location); 
props.add(new Point(p.X, p.Y, a_username)); 
관련 문제