2010-07-22 37 views
2

我在Google地圖「我的地圖」中創建了自定義地圖。現在我想在android設備上顯示該地圖,但不是將其作爲網頁打開,而是使用MapView顯示它或類似。我希望能夠集中在地圖上標記的地方等。我的自定義地圖是包含城市中所有加油站位置的地圖。在Android設備上顯示Google我的地圖

有人可以請我指向正確的方向或描述此文章(我什麼都找不到)。

回答

1

我可以理解的是,你需要創建地圖應用程序,你可以顯示在你的設備上,你需要在該地圖上的所有加油站列表。 它是寫嗎? 如果你知道那個地方的緯度和長度,你可以通過在該特定點上做出標記來做到這一點。

public class helloMap extends MapActivity {0}當第一次創建活動時調用。 */

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; 
} 

} ...

如果妳想要存儲位置,然後ü可以在對存儲緯度,經度那個特定的加油站..

即使ü不知道LAT只要你能使用GeoCoder Class來做到這一點..

這就是你的問題

相關問題