2010-07-22 7 views
2

Google지도 "내지도"에 맞춤형지도를 만들었습니다. 이제는 안드로이드 장치에지도를 보여주고 싶지만 웹 페이지로 열지 않고 비슷한 MapView 또는 smth를 사용하여 표시합니다. 지도에 표시된 장소를 중심으로하고 싶습니다. 내 맞춤지도는 도시의 모든 주유소 위치를 포함하는지도입니다.Google지도를 Android 기기에 표시

누군가가 올바른 방향으로 또는이 것을 설명하는 기사를 가리킬 수 있습니까 (찾을 수 없음).

답변

1

내가 이해할 수있는 것은 U 장치에 표시 할 수있는지도 앱을 만들 필요가 있고 U지도의 모든 주유소 목록이 필요하다는 것입니다. 쓰고 있습니까? 당신은 그 장소의 위도와 경도를 알면 그 특정 지점에 마커를 만들어서 할 수 있습니다.

public class helloMap extends MapActivity { /** 활동이 처음 생성 될 때 호출됩니다. 유 위도 몰라하더라도 */

MapView mapView; 
MapController mc; 
GeoPoint p; 
class MapOverlay extends com.google.android.maps.Overlay 
{ 
    @Override 
    public boolean draw(Canvas canvas, MapView mapView, 
    boolean shadow, long when) 
    { 
     super.draw(canvas, mapView, shadow);     

     //---translate the GeoPoint to screen pixels--- 
     Point screenPts = new Point(); 
     mapView.getProjection().toPixels(p, screenPts); 

     //---add the marker--- 
     Bitmap bmp = BitmapFactory.decodeResource(
      getResources(), R.drawable.pushpin);    
     canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);   
     return true; 
    } 

    public boolean onTouchEvent(MotionEvent event, MapView mapView) 
    { 
     //---when user lifts his finger--- 
     if (event.getAction() == 1) {     
      GeoPoint p = mapView.getProjection().fromPixels(
       (int) event.getX(), 
       (int) event.getY()); 
       Toast.makeText(getBaseContext(), 
        p.getLatitudeE6()/1E6 + "," + 
        p.getLongitudeE6() /1E6 , 
        Toast.LENGTH_SHORT).show(); 
     }        
     return false; 
    }   

} 



@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mapView = (MapView) findViewById(R.id.mapView); 
    LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom); 
    View zoomView = mapView.getZoomControls(); 

    zoomLayout.addView(zoomView, 
     new LinearLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT)); 
    mapView.displayZoomControls(true); 

    mc = mapView.getController(); 
    String coordinates[] = {"22.70", "72.80"}; 
    double lat = Double.parseDouble(coordinates[0]); 
    double lng = Double.parseDouble(coordinates[1]); 

    p = new GeoPoint(
     (int) (lat * 1E6), 
     (int) (lng * 1E6)); 

    mc.animateTo(p); 
    mc.setZoom(6); 
    mapView.invalidate(); 

} 

@Override 
protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
} 

} ...

u는 다음 U 오랫동안 특정 주유소의, 한 쌍의 위도를 저장할 수있는 위치를 저장하려면 ..

그리고 길게하면 GeoCoder 클래스를 사용하여 할 수 있습니다.

그 대답은 귀하의 질문에 대답

관련 문제