2012-10-27 2 views
1

그래서 내가 Google지도 API를 사용하여 응용 프로그램을 구축 봤는데 내가 벽에 실행했습니다 ..안드로이드 응용 프로그램 -지도 API - A로부터 가서는

지금까지 내가지도보기 (명백하게)하고있어 B합니다 원하는 경로의 최종 목적지를 표시하는 GeoPoint를 설정했습니다.

GPS 기능을 코드에 추가하는 과정에서 실제 위치를 청취하고 이동하면서 변경할 수 있습니다. 아직 구현되지 않았지만 어떻게하는지 압니다. 핀으로 사용할 이미지를 추가하여 최종 목적지를 정확히 찾아 냈습니다.

내가 모르는 것은 어떻게 경로와 두 점을 연결 하는가입니다. 누군가가 그 날 계몽 수 있다면, 내가 지금까지 가지고 무엇

좋은 것 :

package com.example.igestao; 

import android.os.Bundle; 
import android.annotation.SuppressLint; 
import com.example.igestao.R; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 
import com.google.android.maps.MapController; 
import com.google.android.maps.GeoPoint; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.graphics.Point; 
import com.google.android.maps.Overlay; 
import java.util.List; 

@SuppressLint("SetJavaScriptEnabled") 
public class Mapa extends MapActivity { 

    MapView map; 
    MapController mc; 
    GeoPoint p; 

    class MapOverlay extends com.google.android.maps.Overlay { 

     @Override 
     public boolean draw(Canvas canvas, MapView map, boolean shadow, long when) { 

      super.draw(canvas, map, shadow); 

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

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

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     map = (MapView)findViewById(R.id.mvMapa); 
     map.setBuiltInZoomControls(true); 
     //map.setSatellite(true); 
     mc = map.getController(); 
     String coordinates[] = {"38.75795","-9.15324"}; 
     double lat = Double.parseDouble(coordinates[0]); 
     double lon = Double.parseDouble(coordinates[1]); 
     p = new GeoPoint( (int)(lat * 1E6), (int)(lon * 1E6)); 
     mc.animateTo(p); 
     mc.setZoom(17); 
     map.invalidate(); 

     //add location marker 

     MapOverlay mapOverlay = new MapOverlay(); 
     List<Overlay> listOfOverlays = map.getOverlays(); 
     listOfOverlays.clear(); 
     listOfOverlays.add(mapOverlay); 
     map.invalidate();   
    } 

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

답변

0

나는 (Google지도에 HTTP 요청을 통해 방향을 구문 분석을 기반으로하는 솔루션과 유사한 성공을 거두었습니다 구체적으로는 방향 서비스). in this excellent answer. 여기서는 Map Activity에서 경로를 가져 오거나 파싱하고 그리는 데 필요한 모든 단계를 설명합니다. 희망이 도움이!

관련 문제