Я хочу получить изображение улицы (с указанием широты и долготы) и отобразить его в диалоговом окне. Возможно ли это?
Я видел здесь несколько примеров, но не нашел ни одного, показывающего мне, как отображать изображение в диалоге.
Извините, если этот вопрос уже существует на сайте, но я не нашел его при поиске.
1 ответ
Да, ты можешь,
В качестве корневого 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>
Из XML вы получаете pano_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;
}
}
Или в Bitmap :
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();
}
Надеюсь, это поможет тебе,
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.