1

マップビューで円を描くことと混同しないでください。私は次のことを達成しようとしています。

ここに画像の説明を入力

a) MapView を別のビューの円形ビューとして作成する必要がありますか? b) MapView をフルスクリーンでレンダリングし、透明な円で別のビューをオーバーレイしますか?

これらのオプションのいずれかが可能かどうかはわかりませんが、可能であると思います。ユーザー ワークフローの一部として、不透明な領域にいくつかのボタンがありますが、最終的にはなくなり、ユーザーは全画面のマップで操作できるようになります。

ありがとう

4

3 に答える 3

0

canvas をいじることができます。丸みを帯びた角の MapView については、次のリンクを参照してください。

http://blog.blundell-apps.com/rounded-corners-mapview/

于 2012-05-16T05:07:43.277 に答える
0

このコードを試してください

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mapView = (MapView) findViewById(R.id.mapview);
    MapController mc = mapView.getController();
    MyLocationOverlay myLocationOverlay = new MyLocationOverlay(MainMap.this, mapView);
    mapView.getOverlays().add(myLocationOverlay);
    mc.animateTo( new GeoPoint(lat, lng));
    mc.setZoom(15);
    mapView.invalidate();
}

overlay.enableMyLocation(); を追加することを忘れないでください。onresume() および overlay.disableMyLocation() で; 一時停止中

ポイントの周りに円を描きたい場合は、上記のコードの代わりに、次のサンプル コードを使用できます。

Point screenPnts =new Point();
GeoPoint curr_geopoint = new GeoPoint((int)(location.getLatitude()*1E6),(int)(location.getLongitude()*1E6));
mapview.getProjection().toPixels(curr_geopoint, screenPnts);
canvas.drawCircle(screenPnts.x, screenPnts.y, 15, paint);
于 2012-05-16T05:08:22.363 に答える