【问题标题】:Load image from the URL and overlay the image in map view?从 URL 加载图像并在地图视图中覆盖图像?
【发布时间】:2012-07-11 07:49:10
【问题描述】:

我有一个列表视图,它由两个文本视图和一个图像视图组成。在布局的顶部(列表视图上方),我有一个按钮来显示地图中的所有列表以及相应的图像视图和文本视图。如何在 mapview 中叠加 imageview ..?

注意:我在 res - drawable 中没有任何图像。我只有图片网址。

我可以固定相应的位置..!但我不知道如何使用 imageview 为那个特定的 baloon(pin) 添加叠加层。

此外,我必须在地图视图中从当前的纬度和经度绘制一个 2 公里的透明圆圈。是否可以在地图视图中画一个圆圈..?

帮助我实现上述目标。

以下是我用来显示地图图钉的代码:

    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);

【问题讨论】:

  • 简而言之,您想将图像显示到您的地图视图中,以便您可以看到房子在哪里?
  • @user1469168 是的.. 但是,必须像 [this] (m.blog.hu/po/pontehu/image/android_images/sample.png) 那样画圆圈,我应该在单击地图图钉时在对话框中放置一个图像

标签: android overlay


【解决方案1】:

您应该扩展 com.google.android.maps.Overlay 以将图像添加到 mapView。然后覆盖draw方法。因此,您可以获取 URI 添加位图并在画布中绘制它。将下面的代码放在draw方法中。

@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();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-10
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    相关资源
    最近更新 更多