2013-03-01 34 views
0

我想在我的應用程序中使用Google地圖 - 從我的應用程序啓動Google地圖。我創辦這個代碼(在這個論壇中不同的問):從應用程序啓動Google地圖 - Android

String uri = String.format(Locale.ENGLISH, "geo:%f,%f", latitude, longitude); 
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
FinishActivity.this.startActivity(intent); 

它的工作相當不錯 - 它啓動谷歌地圖,但沒有任何標籤(這綠色指針與「A」)和縮放是很大。我該如何改變它?有什麼方法可以顯示兩個點並在它們之間路由?

謝謝你的幫助!

回答

0
public class MapRouteActivity extends MapActivity {  
      LinearLayout linearLayout; 
    MapView mapView; 
    private Road mRoad;  
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
mapView = (MapView) findViewById(R.id.mapview); 
mapView.setBuiltInZoomControls(true);  
new Thread() { 
@Override 
public void run() { 
double fromLat = 49.85, fromLon = 24.016667; 
double toLat = 50.45, toLon = 30.523333; 
String url = RoadProvider 
    .getUrl(fromLat, fromLon, toLat, toLon); 
InputStream is = getConnection(url); 
mRoad = RoadProvider.getRoute(is); 
mHandler.sendEmptyMessage(0); 
} 
}.start(); 
} 

Handler mHandler = new Handler() { 
public void handleMessage(android.os.Message msg) { 
    TextView textView = (TextView) findViewById(R.id.description); 
    textView.setText(mRoad.mName + " " + mRoad.mDescription); 
    MapOverlay mapOverlay = new MapOverlay(mRoad, mapView); 
    List<Overlay> listOfOverlays = mapView.getOverlays(); 
    listOfOverlays.clear(); 
    listOfOverlays.add(mapOverlay); 
    mapView.invalidate(); 
    }; 
    }; 

private InputStream getConnection(String url) { 
InputStream is = null; 
    try { 
    URLConnection conn = new URL(url).openConnection(); 
    is = conn.getInputStream(); 
    } catch (MalformedURLException e) { 
    e.printStackTrace(); 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } 
    return is; 
    }  
    @Override 
protected boolean isRouteDisplayed() { 
    return false; 
    } 
} 

參見(https://code.google.com/p/j2memaprouteprovider/source/browse/trunk/J2MEMapRouteAndroidEx/src/org/ci/geo/route/android/MapRouteActivity.java

縮放級別在地圖

MapController myMC myMapView.getController全碼();

myMC.setZoom(int value);

+0

感謝您的幫助,但我認爲這不是我想要的,因爲它會在我的應用程序中創建Map,並且我想用標記啓動Google Maps(有很多功能,如導航等)。 – CookieMonssster 2013-03-02 14:01:22

相關問題