根据城市名获得城市中心的经纬度
方法一:/*** 根据选择的城市获取对应的经纬度* @param cityname*/public void dataRequest(String cityname){String url;JSONObject jsonObject = null;JsonObjectRequestWithCookie jsonRequest = null;String result = null;try {result = new String(cityname.getBytes("UTF-8"), "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}url = "http://api.map.baidu.com/geocoding/v3/?region=" +cityname+"&output=json" +"&ak=xxxxxxxx" ; // "&callback=showLocation";jsonRequest = new JsonObjectRequestWithCookie(url,jsonObject,new Response.Listener<JSONObject>() {@Overridepublic void onResponse(JSONObject obj) {Logs.i(obj.toString());Logs.i("返回结果");}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {Logs.i("error "+error.networkResponse.statusCode);}},null,1);if(jsonRequest != null){jsonRequest.setRetryPolicy(new DefaultRetryPolicy(500000,//默认超时时间DefaultRetryPolicy.DEFAULT_MAX_RETRIES,//默认最大尝试次数DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));if(RequestManager.Cookie != ""){jsonRequest.setSendCookie(RequestManager.Cookie);}RequestQueueManager.getRequestQueue().add(jsonRequest);}else {Logs.i("网络请求初始化失败");}}
方法二:
//请求定位权限 public void requestLocationPermission(){if(ContextCompat.checkSelfPermission(HomeActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED){//未开启定位权限//开启定位权限,200是标识码ActivityCompat.requestPermissions(HomeActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},200);}else{getlocationGps();//开始定位Toast.makeText(HomeActivity.this,"已开启定位权限",Toast.LENGTH_LONG).show();} }
private void getlocationGps() {// 1.获取位置管理器locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);// 2.获取网络状态if (getNetWorkState(this) == NETWORK_NONE) {Log.d(TAG, "当前是GPS定位");statusListener = new GpsStatus.Listener() {@Overridepublic void onGpsStatusChanged(int event) {// 需要检查权限,否则编译报错if (Build.VERSION.SDK_INT >= 23&& ActivityCompat.checkSelfPermission(HomeActivity.this,android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED&& ActivityCompat.checkSelfPermission(HomeActivity.this,android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {return;}if (ActivityCompat.checkSelfPermission(HomeActivity.this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED&& ActivityCompat.checkSelfPermission(HomeActivity.this,Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {return;}gpsStatus = locationManager.getGpsStatus(null);switch (event) {case GpsStatus.GPS_EVENT_STARTED:Log.d(TAG, "GPS系统已开始工作");break;case GpsStatus.GPS_EVENT_STOPPED:Log.d(TAG, "GPS系统已停止工作");break;default:break;}}};locationManager.addGpsStatusListener(statusListener);// 监视地理位置变化,第二个和第三个参数分别为更新的最短时间minTime(单位为毫秒)和最短距离minDistace(单位为米)locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, locationListener);} else {Log.d(TAG, "当前是网络定位");// 监视地理位置变化,第二个和第三个参数分别为更新的最短时间minTime(单位为毫秒)和最短距离minDistace(单位为米)locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000, 0, locationListener);} }
// 创建地理编码检索 输入城市名 返回经纬度OnGetGeoCoderResultListener listener = new OnGetGeoCoderResultListener() {public void onGetGeoCodeResult(GeoCodeResult result) {Log.w("----ERRORNO---", result.error + "");if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {Toast.makeText(getApplication(), "抱歉,未能找到结果", Toast.LENGTH_LONG).show();return;}// Log.w("----1111---",result.getLocation().latitude+"");Logs.i(result.getLocation().latitude + "");Logs.i(result.getLocation().longitude + "");//获取地理编码结果}@Overridepublic void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {Toast.makeText(getApplication(), "抱歉,未能找到结果", Toast.LENGTH_LONG).show();return;}// Log.w("----1111---",result.getAddress()+"");//获取反向地理编码结果}};
根据城市名获得城市中心的经纬度相关推荐
- 聚合天气--ajax 通过城市名取数据
为什么80%的码农都做不了架构师?>>> 聚合天气:https://www.juhe.cn/box 接口地址:http://v.juhe.cn/weather/index 支持 ...
- 获取天气预报ajax,Ajax 通过城市名获取数据(全国天气预报API)
预览图(比较简单粗糙) 聚合数据全国天气预报接口: 接口地址:http://v.juhe.cn/weather/index 支持格式:json/xml 请求方式:get 请求示例:http://v.j ...
- js ajax获取天气预报,Ajax 通过城市名获取数据(全国天气预报API)
AJAX 的 Ajax 通过城市名获取数据(全国天气预报API) 预览图(比较简单粗糙) 聚合数据全国天气预报接口: 接口地址:http://v.juhe.cn/weather/index 支持格式: ...
- java城市链表_数据结构城市链表 1. 城市链表
[问题描述]将若干城市的信息 联合开发网 - pudn.com...
数据结构城市链表 所属分类:文章/文档 开发工具:Java 文件大小:174KB 下载次数:7 上传日期:2017-12-18 18:37:53 上 传 者:叁佰 说明: 1. 城市链表 [问题描述 ...
- Android根据经纬度获取城市名的方法
根据经纬度获取当前城市名的几种方式如下(获取城市名需要网络连接) 1. 通过服务获取城市名 百度: http://api.map.baidu.com/geocoder?output=json& ...
- uniapp 获取定位以及经纬度转换为城市名
/*2021/8/26xh获取地理位置经纬度及城市名(h5,app,微信小程序三端)*/ // #ifdef H5 //引入jquery文件,用jquery的jsonp来访问腾讯地图的逆地址解析,只适 ...
- 微信小程序调用高德api定位当前经纬度,根据城市名获取对应经纬度
最近写小程序有一个首页关于定位功能,指定高德API,话不多说,上图: 首先小程序需要先设置定位提示语,在mainfest.json中添加配置scope.userLocation: "mp-w ...
- 知道城市名获得经纬度
// 根据城市名获得经纬度,此处调用的是腾讯地图getLnglat: function (addressName) {wx.request({url: 'https://apis.map.qq.com ...
- 微信小程序获取当前位置和城市名
这篇文章主要介绍了微信小程序获取当前位置和城市名的思路,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 目录 一.授权并获取经纬度 腾讯地图API **简介** Hello world! 一. ...
- 根据ip地址获取城市名的几种方法
2019独角兽企业重金招聘Python工程师标准>>> 在某些场景下,可能需要用到根据ip地址获取ip所对应的城市名. 貌似腾讯.百度等开放接口已经失效或者免费服务接口关闭等原因,很 ...
最新文章
- matlab power
- 无线宝服务器连接不上,无线网络连接不上怎么办 为什么无线网络连接不上
- 关于minikube使用HTTP_PROXY拉取镜像后取消代理的操作过程记录
- [设计模式笔记]3.单例模式
- java 更改css_求助java正则表达式问题,我现在想用java程序操作我本地的a.css文件,并且对此文件里边的代码做更改。...
- css3 下拉缩放显示定位导航
- pp模块常用表 sap_SAP财务常用的PP模块事务代码清单
- easyui filebox文件大小校验
- HTTP协议知识点总结
- android ListView中含有按钮事件实时更新ListView数据案例-1
- 蓝牙耳机那种降噪效果好?双11高人气降噪高音质蓝牙耳机推荐
- Python如何实现将四位数字组合成一个不重复的三位数,for循环暴力解法
- Unicode 码和汉字,十进制之间互转!二进制、十六进制,十进制的转换
- 喝茶有讲究:各种茶的功效
- 马云、马化腾、扎克伯格拉开战役序幕 谁将打响区块链Dapp第一炮?
- 个人时尚竞聘简历PPT模板
- 乌云漏洞平台:一枚孢子如何生长成群落
- AI体统中提高模型泛化能力的两个思路
- Matplotlib实例教程(十三)小提琴图
- 校园网络视频直播系统应用方案