qt for android调用百度地图,android:获得poi图片的一种方法(百度地图api)-Go语言中文社区...-程序员宅基地

技术标签: qt for android调用百度地图  

百度地图api中关于poi检索的内容实际上是比较少的。

7dc142572524a9a83dee2168505bc9e6.png

如果想做poi的介绍界面,需要 poi的图片。。。但是百度地图api中只提供了poi的url。没办法,用正则表达式自己搞!

一开始遇到的问题是无法解析getDetailUrl()的源码,后来发现这个url是个废弃的

angry.gif有么有搞错

自己构建如下"http://map.baidu.com/detail?qt=ninf&uid="+uid.get(i)+"&detail="+type.get(i)"

对于cater类型的网页,获取图片的正则表达式为

"(?<=).*(?=)"

关键源码如下:

public class webContent {

public byte[] readStream(InputStream inputStream) throws Exception {

byte[] buffer = new byte[1024];

int len = -1;

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

while ((len = inputStream.read(buffer)) != -1) {

byteArrayOutputStream.write(buffer, 0, len);

}

inputStream.close();

byteArrayOutputStream.close();

return byteArrayOutputStream.toByteArray();

}

public String testGetHtml(String urlpath) throws Exception {

URL url = new URL(urlpath);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setConnectTimeout(6 * 1000);

// StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());

// StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());

conn.setRequestMethod("GET");

if (conn.getResponseCode() == 200) {

InputStream inputStream = conn.getInputStream();

byte[] data = readStream(inputStream);

Log.e("字节数组长度", data.length+"个字节");

String html = new String(data);

return html;

}

return null;

}

public String getTitle(String s) {

String regex;

String title = "";

ArrayList list = new ArrayList();

regex = "(?<=).*(?=)";

Pattern pa = Pattern.compile(regex);

Matcher ma = pa.matcher(s);

while (ma.find()) {

list.add(ma.group());

}

for (int i = 0; i < list.size(); i++) {

title = title + list.get(i);

}

return (title);

}public ImageLoader loadImage(String  url,Context context){

RequestQueue requestQueue = Volley.newRequestQueue(context);

final LruCache lruCache = new LruCache(50);

ImageCache imageCache = new ImageCache() {

@Override

public void putBitmap(String key, Bitmap value) {

lruCache.put(key, value);

}

@Override

public Bitmap getBitmap(String key) {

return lruCache.get(key);

}

};

ImageLoader imageLoader = new ImageLoader(requestQueue, imageCache);

return imageLoader;

}}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30780097/article/details/117540723

智能推荐

使用ps制作食物网页_ps美食网页制作步骤-程序员宅基地

文章浏览阅读762次。使用Ps制作食物网页(作者:李文成,撰写时间:2019年4月7日)软件:Adobe Photoshop CC 2018(PS),首先打开Ps新建一个图层,使用矩形工具(U)拉出一个矩形,颜色为:#d6caca,再使用横排文字工具(T)将文字打上去,文字大小为:13,颜色为:#333333,注意字体间距要一样,字体大小也要一样,旁边购物袋是使用椭圆工具(U)跟矩形工具制作成的,利用图层的叠放制..._ps美食网页制作步骤

使用Python将TXT转为Excel_python txt转excel-程序员宅基地

文章浏览阅读7.7k次,点赞5次,收藏37次。使用Python将txt转为excel_python txt转excel

Android最佳架构:MVI + LiveData + ViewModel | ProAndroidDev_android 视图 viewmodel 还原 viewstate-程序员宅基地

文章浏览阅读1.7k次。MVVM和MVI架构模式合并为一个最好的架构,为任何Android项目提供了完美的架构。有太多可用的体系结构模式,每种模式都有其优缺点。所有这些模式都试图实现相同的架构基本原理:1、关注点分离(SoC) :这是一种设计原则,用于将计算机程序分为不同的部分,以便每个部分都可以解决一个单独的关注点。关注点是提供问题解决方案时重要的事情。该原则与面向对象编程的“ 单一责任原则”密切相关,后者 指出..._android 视图 viewmodel 还原 viewstate

OS中关于父子进程的执行顺序和多个子进程之间的执行顺序(整理)_fork父子进程谁先运行-程序员宅基地

文章浏览阅读8.2k次,点赞7次,收藏28次。一、问:1.fork出一个子进程,父子进程执行的先后顺序是不确定的,如果先执行父进程,再执行子进程,父进程中没有wait和sleep。问,是否先把父进程执行完,再执行子进程?还是两个进程是一块执行的?2.如果父进程中有sleep,父进程中的程序执行到sleep进行休眠,转而执行子进程。问:子进程中的程序执行完了再返回父进程中执行,还是休眠时间到了返回父进程中执行,还是其他?答:进程的..._fork父子进程谁先运行

关于服务器部署流程-程序员宅基地

文章浏览阅读8.2k次,点赞3次,收藏27次。服务器部署_服务器部署

随便推点

lib文件夹的作用和配置lib文件-程序员宅基地

文章浏览阅读2.8k次,点赞2次,收藏7次。lib文件夹的作用和配置lib文件_lib文件

GJB 438C-2021军用软件开发文档通用要求_gjb438c电子版下载-程序员宅基地

文章浏览阅读7.2k次,点赞30次,收藏4次。【lfsc】_gjb438c电子版下载

MySQL | JDBC连接数据库详细教程【全程干货】_mysql jdbc-程序员宅基地

文章浏览阅读1w次,点赞93次,收藏187次。如何使用JDBC连接MySQL数据库详细教程_mysql jdbc

sql优化常用的几种方法:19种最有效的sql优化技巧-程序员宅基地

文章浏览阅读2.4w次,点赞9次,收藏124次。我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下:1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。但是如果数值较多,产生的消耗也是比较大的。再例如:select id from t where num in(1,2,3) 对于连续的数值,能用between就不要用in了;再或者使用连接来替换。3、SE_sql优化

ubuntu18.04如何安装PCL1.9.1以及遇到的bug_/pcl-1.9.1/common/include/pcl/pclheader.h:38:24: n-程序员宅基地

文章浏览阅读1.4k次,点赞5次,收藏10次。ubuntu18.04如何安装PCL1.9.1以及遇到的bug文章目录ubuntu18.04如何安装PCL1.9.1以及遇到的bug前言一、准备二、安装PCL1.安装依赖库2.从github 下载pcl1.93.编译4.有关centroid_points包的debug5.后记前言提示:系统:ubuntu18.04ROS版本:melodic一、准备系统:ubuntu18.04ROS版本:melodic良好的网络环境:能够访问github二、安装PCL参考链接1:Ubuntu1_/pcl-1.9.1/common/include/pcl/pclheader.h:38:24: note: previous definition o

微信小程序:wx.navigateTo从子页面跳回父页面,页面不刷新的问题_navigateto 跳转再跳回时触发那个生命周期函数-程序员宅基地

文章浏览阅读1.8w次,点赞9次,收藏17次。先简要说说小程序的生命周期: 应用的生命周期:App({…}) 用来注册小程序,指定小程序的生命周期 页面的生命周期:Page({…}) 注册页面,指定页面的生命周期 具体注册函数的内容见小程序官网API其中有三个生命周期函数的触发顺序:onLoad-&gt;onShow-&gt;onReady (页面加载-&gt;页面显示-&gt;页面初次渲染) onLoad和onReady每个页面..._navigateto 跳转再跳回时触发那个生命周期函数