0

2 つのテキストビューとイメージビューで構成されるリストビューがあります。レイアウトの上部 (リストビューの上) に、マップ内のすべてのリストを対応するイメージビューとテキストビューで表示するボタンがあります。マップビューでイメージビューをオーバーレイするにはどうすればよいですか..?

注:res-drawableに画像はありません。画像のURLしかありません。

対応する場所を固定できます..! しかし、その特定のバルーン(ピン)にイメージビューを使用してオーバーレイを追加する方法がわかりません。

さらに、マップビューで現在の緯度と経度から 2 km の透明な円を描画する必要があります。マップビューで円を描くことは可能ですか..?

上記を達成するのを手伝ってください。

以下は、マップピンを表示するために使用したコードです。

    Double lat1 = (Double.parseDouble(latitude)) * 1E6;
    Double lng1 = (Double.parseDouble(longitude)) * 1E6;

    com.google.android.maps.GeoPoint point = new com.google.android.maps.GeoPoint(
            lat1.intValue(), lng1.intValue());
    controller.animateTo(point);
    controller.setZoom(10);

    mapOverlays = mapView.getOverlays();
    drawable = this.getResources().getDrawable(R.drawable.pin);
    balloon1 = new MyItemizedOverlay_Initial(drawable, mapView);
4

1 に答える 1

0

mapView に画像を追加するには、com.google.android.maps.Overlay を拡張する必要があります。次に、描画メソッドをオーバーライドします。したがって、ビットマップを追加してキャンバス内に描画する URI を取得できます。以下のコードを描画メソッドに入れます。

@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    super.draw(canvas, mapView, shadow);
    try {
        URL url = new URL("http://your.url.com/your-file.jpg");
        Bitmap bitmap = BitmapFactory.decodeStream(url.openStream());
        canvas.drawBitmap(bitmap, point.x - bitmap.getWidth() / 2, point.y - bitmap.getHeight() / 2, null);
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
于 2012-08-21T00:48:48.057 に答える