0

ユーザーの場所を見つけて地図上に配置される地図マーカーを作成しましたが、地図マーカーに文字列を追加しようとしていて、機能させることができません。これが、場所が設定されているonCreateメソッドです。メソッドの最後の部分は、ピンポイントを場所に配置することを示しています。オーバーレイアイテムは、次のように文字列パラメーターを受け取ると思いました。

      @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);

        // Displaying Zooming controls
        mapView= (MapView) findViewById(R.id.mapView);
        mapView.setBuiltInZoomControls(true);

        //Manually place a pin by touching the map
        touchy t = new touchy();
        overlayList = mapView.getOverlays();
        overlayList.add(t);
        compass = new MyLocationOverlay(Maps.this, mapView);
        overlayList.add(compass);
        controller = mapView.getController();


        d = getResources().getDrawable(R.drawable.androidmarker);


      //placing pinpoint at location
        lm =(LocationManager) getSystemService(Context.LOCATION_SERVICE);
        Criteria crit = new Criteria();

        towers = lm.getBestProvider(crit, false);

        Location location = lm.getLastKnownLocation(towers);

        if(location != null){

            lat = (int) (location.getLatitude()* 1E6);
            longi = (int) (location.getLongitude()* 1E6);

              GeoPoint ourLocation = new GeoPoint(lat, longi);
              controller.animateTo(ourLocation);
            controller.setZoom(6);
            OverlayItem overlayitem = new OverlayItem(ourLocation, "First string", "Second string");
            HelloItemizedOverlay custom = new HelloItemizedOverlay(d, Maps.this);
            custom.insertPinpoint(overlayitem);
            overlayList.add(custom);
        }
        else{
            Toast.makeText(Maps.this, "Couldn't get provider", Toast.LENGTH_SHORT).show();
        }

    }

誰かが私が間違っていることを見ることができますか?これはこれを行うための間違った方法ですか?最終的には、名前とハイスコアを、別のクラスから2つの文字列として取得される場所に渡したいと思います。

アドバイスをいただければ幸いです。

4

1 に答える 1

2

次のチュートリアルに従ってください:http: //codemagician.wordpress.com/2010/05/06/android-google-mapview-tutorial-done-right/

これで彼はItemizedOverlyを作成しています

HelloItemizedOverlay extends ItemizedOverlay<OverlayItem>

これは、テキスト付きのマップオーバーレイを追加するのに役立ちます

于 2012-04-06T15:42:07.113 に答える