关于逆地理编码的一些记录
来源:互联网 发布:arch linux安装教程 编辑:程序博客网 时间:2024/05/17 02:42
首先分享一个使用android studio常见的问题
手贱删了jdk,重装以后就遇到这个问题
Error: Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Vishnu Ruhela\AppData\Local\Android\sdk\build-tools\21.1.2\aapt.exe'' finished with non- zero exit value 1
相信这个问题还是比较常见的,如新建module时。。
解决方法:
详情见图,解决方法来自stackoverflow论坛
确实比度娘靠谱多了
接下来就是逆地理编码的一些问题记录
private void showLocation(final Location location) { new Thread(new Runnable() { @Override public void run() { HttpURLConnection urlConnection=null; try{ String sin="http://api.map.baidu.com/geocoder/v2/?ak=HVIGzbKMkxyCI3sKZwyjWnaRIdtudAtI&mcode=56:13:F6:43:D9:B8:61:E3:01:1B:01:26:2D:F4:5F:E9:B0:6A:A4:97;com.example.maplocationtest&location=" +39.983424+","+116.322987+"&output=json&pois=1"; URL url=new URL(sin); urlConnection= (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(8000); urlConnection.setReadTimeout(8000); urlConnection.setRequestProperty("Charset","utf-8"); if(urlConnection.getResponseCode()==200) { InputStream in=urlConnection.getInputStream(); BufferedReader reader=new BufferedReader(new InputStreamReader(in)); String line ; StringBuilder response = new StringBuilder(); line=reader.readLine(); while (line!= null) { response.append(line); line=reader.readLine(); } Log.d("Succeed",response.toString()); JSONObject jsonObject1=new JSONObject(response.toString()); JSONObject jsonObject=jsonObject1.getJSONObject("result"); if(jsonObject!=null) { String address = jsonObject.getString("formatted_address"); Message message = new Message(); message.what = SHOW_LOCATION; message.obj = address.toString(); handler.sendMessage(message); } } // JSONObject jsonObject=new JSONObject(response.toString()); // JSONArray array=jsonObject.getJSONArray("result"); }catch (Exception e){ e.printStackTrace(); } } }).start(); }
耗时操作写在线程了这没啥好说,关键在定义URL地址是国内是用不了google Map,用了百度地图进行测试(PS:个人在这里卡了好久,android刚开始入门,见谅)ak位置填的是在百度地图API创建的密钥匙,若不改这里直接打开网址,会出现,{Status: 220,……} 乱码错误,第二个一定要添加mocode此位置填写安全码,不填会出现{Status:102,。。。。},此为验证开发者。location部分填写lat,lng地址(经纬度),output这里选择返回的数据类型。(PS:个人亲测使用win10 的IE打不开用json返回的数据类型 如:无法解析用户xx.js)换个浏览器就可以
HttpCilent在API22被废弃,所以这边使用httpUrlConnection发送http请求
tips:若坚持使用httpclient在File->project Structure->module->选择自己的module->Dependencies->选择加号->library dependency添加httpclient包名即可使用httpclient
然后是解析JSON数据格式,(这里也卡了挺久,开始没搞明白JSONObject and jsonArray的用法)它们的主要区别是,object用来解析对象,array解析数组,更直观的表现为array解析【】类型数据,object 解析{ },这里只返回一个地址直接使用jsonObject解析,使用getObject一层层进入result ->formatted address
最后在AndroidManifest添加
这个不能忘
PS:都是一些很小的问题,或许很简单,但是的确卡了自己很久,所以记录一番喽
- 关于逆地理编码的一些记录
- 关于地理编码与反地理编码
- 地理编码与逆地理编码
- CLGeocoder地理编码与逆地理编码
- 定位、地理编码、逆地理编码
- 使用百度逆地理编码,获取城市名称 - 记录
- 高德地图地理编码和逆地理编码,以及逆地理编码的时候如何去掉省、市、镇
- 地理编码的实现
- ios关于百度地图框架地理编码的封装;
- web前端关于百度地图反地理编码的问题
- 逆地理编码
- 地理反编码的实现
- Android 地图的地理编码与地理反编码
- 高德地理编码和逆地理编码区别
- Android 百度地图api地理编码与逆地理编码
- 高德地图地理编码和逆地理编码
- 逆地理编码及关键技术
- 关于编码的一些理解
- Ad Exchange基本接口和功能
- E矿大获取密码测试
- 汇编 字符数字分开存放
- SQL判断语句用法和多表查询
- CodeForces - 645C Enduring Exodus (二分)
- 关于逆地理编码的一些记录
- 练习003
- HashMap中的put(Object key, Object value)方法实现
- Permutations
- POJ 3037 Skiing(Dijkstra)
- 加锁
- php 获取客户端的ip、地理信息、浏览器信息、本地真实ip
- java线程模型 线程池
- SystemUI statusbar 更换自己的UI图标