1

我想获取街景图片(说明经纬度)并在对话框中显示,这可能吗?

我在这里看到了一些示例,但没有找到向我展示如何在对话框中显示图像的示例。

对不起,如果网站中已经存在这个问题,但我搜索时没有找到。

4

1 回答 1

4

是的你可以,

作为 URL 根,您可以使用这个http://cbk0.google.com/maps.google.com

这是一个示例,您通过提供位置来使用上述 URL:

http://cbk0.google.com/cbk?output=xml&hl=x-local&ll=34.058593,-118.240673&it=all

结果应该是:

  <panorama>
     <data_properties image_width="13312" image_height="6656" tile_width="512" tile_height="512" pano_id="70o9Pukc2KSjO-PfeHussw" scene="1" imagery_type="2" level_id="ffffffffb3840000" num_zoom_levels="5" lat="34.058620" lng="-118.240693" original_lat="34.058620" original_lng="-118.240693" best_view_direction_deg="109.819">
    <copyright>© 2013 Google</copyright>
      <text/>
     <street_range/>
      <region/>
      <country/>
    </data_properties>
<projection_properties projection_type="spherical" pano_yaw_deg="93.25" tilt_yaw_deg="-180" tilt_pitch_deg="0"/>
<annotation_properties>
   <link yaw_deg="252.58" pano_id="qciD6ogWmkxiq4p3OaprjA" road_argb="0x80fdf872" scene="1">
      <link_text/>
    </link>
     <link yaw_deg="38.52" pano_id="lqiWuIrIXa_86In3RRxB1w" road_argb="0x80fdf872" scene="1">
     <link_text/>
     </link>
</annotation_properties>
    <levels>
   <level level_id="ffffffffb3840000" pano_id="70o9Pukc2KSjO-PfeHussw" ordinal="0">
    <text/>
    <abbreviation/>
   </level>
    </levels>
</panorama> 

从您获取的 XMLpano_id中,(在我的情况下pano_id="70o9Pukc2KSjO-PfeHussw"

之后您可以基于以下内容提取图像pano_id

http://cbk0.google.com/cbk?output=tile&panoid=70o9Pukc2KSjO-PfeHussw&zoom=3&x=5&y=1

其他获取 XML 的方法maps.google.com

http://maps.google.com/cbk?output=xml&ll=32.051626,34.7613

要从 URL 加载图像,有很多选项:

可绘制

public static Drawable LoadImageFromWebOperations(String url) {
try {
    InputStream is = (InputStream) new URL(url).getContent();
    Drawable d = Drawable.createFromStream(is, "src name");
    return d;
} catch (Exception e) {
    return null;
 }
}

位图

 try {
  ImageView i = (ImageView)findViewById(R.id.image);
   Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(imageUrl).getContent());
   i.setImageBitmap(bitmap); 
  } catch (MalformedURLException e) {
    e.printStackTrace();
  } catch (IOException e) {
    e.printStackTrace();
  }

希望对你有帮助,

于 2013-09-25T05:58:56.610 回答