0

私は卒業論文を書いていて、Google マップに自分の位置を表示する Android アプリケーションを作成する必要があります (私が行ったことがあることです)。大学内のいくつかの場所に近づくと、建物の情報がポップアップ表示されます (私が行ったこと)。近接アラートでそれを行うかもしれません)。ポイントは、マップに表示される場所をテキスト ファイルからピンとしてインポートすることです。

それは可能ですか(私はそれを行いましたが、コード内から静的です)?私は Eclipse で作業していますが、それが役立つ場合は、コードをコピーして貼り付けることができます。

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

    mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);

    Drawable marker=getResources().getDrawable(R.drawable.pushpin);
    marker.setBounds((int) (-marker.getIntrinsicWidth()/2),-marker.getIntrinsicHeight(),(int) (marker.getIntrinsicWidth()/2),0);        
    mapController=mapView.getController();
    mapController.setZoom(15);

    InterestingLocations funPlaces= new InterestingLocations(marker);
    mapView.getOverlays().add(funPlaces);

    GeoPoint pt=funPlaces.getCenterPt();
    int latSpan=funPlaces.getLatSpanE6();
    int lonSpan=funPlaces.getLonSpanE6();
    Log.v("Overlays", "Lat span is " + latSpan);
    Log.v("Overlays", "Lon span is " + lonSpan);

    MapController mc = mapView.getController();
    mc.setCenter(pt);
    mc.zoomToSpan((int) (latSpan*1.5), (int)(lonSpan*1.5));


    whereAmI= new MyLocationOverlay(this, mapView);
    mapView.getOverlays().add(whereAmI);
    mapView.postInvalidate();

public class InterestingLocations extends ItemizedOverlay{
    private ArrayList<OverlayItem> locations = new ArrayList<OverlayItem>();
    private GeoPoint center=null;

    public InterestingLocations(Drawable marker){
        super(marker);

        GeoPoint disneyMagicKingdom = new GeoPoint((int)(37.97897823618044*1000000) ,(int)(23.6723855137825*1000000));
        GeoPoint disneySevenLagon= new GeoPoint((int)(37.98013047446126*1000000) ,(int)(13.6715030670166*1000000));
        locations.add(new OverlayItem(disneyMagicKingdom,"Magic Kingdom","Magic Kingdom"));
        locations.add(new OverlayItem(disneySevenLagon,"Seven Lagon","Seven Lagon"));

        populate();
    }
4

1 に答える 1

0

はい、できます。リソースのアセットフォルダにテキストファイルを保管してください。そこから場所を読み取り、ロード中に地図上にオーバーレイ (その場所のピン) を配置します。Google マップの使用を開始するためのチュートリアルが必要な場合は、こちらが適しています。

于 2013-01-07T08:02:35.050 に答える