0

アプリで Google マップを使用したい - アプリから Google マップを起動します。私はこのコードを作成しました(別の質問のこのフォーラムで):

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

それは非常にうまく機能します.Googleマップを起動しますが、ラベル(「A」が付​​いたこの緑色のポインター)はなく、ズームは非常に大きいです. どうすれば変更できますか?2 つのポイントとそれらの間のルートを表示する方法はありますか?

ご協力ありがとうございました!

4

1 に答える 1

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(整数値);

于 2013-03-01T18:39:02.250 に答える