- 浏览: 405167 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
rkikbs:
有下载地址么?
我的iOS视频开放了,欢迎大家在线观看 -
wjpiao:
支持支持!
我的iOS视频开放了,欢迎大家在线观看 -
关东升:
wwwang89 写道关老师,你好 ,请问:我的服务器端是用j ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
wwwang89:
关老师,你好 ,请问:我的服务器端是用java写的,不是.ne ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
关东升:
crowning_2008 写道关老师 好!你好
iOS开发那些事-关于性能优化–选择nib还是故事板的讨论
“定位查询”locate()方法,增加一个线程,在该线程中处理查询地点的功能,请参考代码清单16-10,完整代码请参考chapter16_7工程中src/com/work/map/MyMapActivity.java文件locate()方法代码部分。
【代码清单16-10】
通过下面的代码是实现显示进度条:
progDialog = ProgressDialog.show(MyMapActivity.this, "处理中...", "定位" + findString, true, false);
启动一个子线程,在该线程中实现地点查询,但是不能有更新UI的处理,如果查询成功调用handler.sendEmptyMessage(0),如果失败调用handler.sendEmptyMessage(1)。
new Thread() {
@Override
public void run() {
… …
}
}.start();
在Hander的handleMessage方法中处理更新UI操作,其中成功(case 0)时候清除屏幕上原来的图层,重新添加图层,最后progDialog.dismiss()方法关闭进度条对话框。如果是查询失败(case 1)弹出Toast说明一下,也要通过progDialog.dismiss()方法关闭进度条对话框,否则进度条对话框不会关闭。
出自《Android开发案例驱动教程》第十六章
【代码清单16-10】
/** * 定位查询 */ private void locate() { LayoutInflater factory = LayoutInflater.from(MyMapActivity.this); View locationView = factory.inflate(R.layout.find_dialog, null); final EditText findText = (EditText) locationView .findViewById(R.id.dailog_find); new AlertDialog.Builder(this).setTitle(R.string.dialog_find).setView( locationView).setPositiveButton(R.string.button_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { findString = findText.getText().toString(); progDialog = ProgressDialog.show(MyMapActivity.this, "处理中...", "定位" + findString, true, false); new Thread() { @Override public void run() { try { Geocoder geocoder = new Geocoder( MyMapActivity.this); addresses = geocoder.getFromLocationName( findString, 1); if (addresses.size() > 0) { List<OverlayItem> overlayitems = new ArrayList<OverlayItem>(); double lat = addresses.get(0) .getLatitude(); double lng = addresses.get(0) .getLongitude(); // 设定中心点 centerPoit = new GeoPoint( (int) (lat * 1E6), (int) (lng * 1E6)); // 地理坐标 mc.setCenter(centerPoit); Log.i(TAG, " lat " + lat + " lng " + lng); int intMaxAddressLineIndex = addresses .get(0) .getMaxAddressLineIndex(); String address = "地址:"; for (int j = 0; j <= intMaxAddressLineIndex; j++) { if (addresses.get(0) == null) continue; address += addresses.get(0) .getAddressLine(j) + ","; } if (address.endsWith(",")) { address = address.substring(0, address.length() - 1); } String title = ""; if (addresses.get(0).getFeatureName() == null) { title = ""; } else { title = addresses.get(0) .getFeatureName(); } overlayitems.add(new OverlayItem( centerPoit, title, address)); Drawable marker = getResources() .getDrawable( R.drawable.markermap2); locs = new LocationItemsOverlay(marker, overlayitems); handler.sendEmptyMessage(0); } else { handler.sendEmptyMessage(1); } } catch (Exception e) { e.printStackTrace(); handler.sendEmptyMessage(1); } } }.start(); } }).setNegativeButton(R.string.button_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }).show(); }
通过下面的代码是实现显示进度条:
progDialog = ProgressDialog.show(MyMapActivity.this, "处理中...", "定位" + findString, true, false);
启动一个子线程,在该线程中实现地点查询,但是不能有更新UI的处理,如果查询成功调用handler.sendEmptyMessage(0),如果失败调用handler.sendEmptyMessage(1)。
new Thread() {
@Override
public void run() {
… …
}
}.start();
在Hander的handleMessage方法中处理更新UI操作,其中成功(case 0)时候清除屏幕上原来的图层,重新添加图层,最后progDialog.dismiss()方法关闭进度条对话框。如果是查询失败(case 1)弹出Toast说明一下,也要通过progDialog.dismiss()方法关闭进度条对话框,否则进度条对话框不会关闭。
private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: mapView.getOverlays().clear(); mapView.getOverlays().add(locs); progDialog.dismiss(); break; case 1: Toast.makeText(MyMapActivity.this, "暂时无法" + findString + "信息。", Toast.LENGTH_SHORT).show(); progDialog.dismiss(); } } };
出自《Android开发案例驱动教程》第十六章
发表评论
-
智捷课堂改版啦!
2015-08-04 12:09 1新站上线,为庆祝网站改版,全站所有视频限时免费三天(8月5日 ... -
《Android开发案例驱动教程》之十五章云端应用整篇下载
2011-12-08 18:08 1085《Android开发案例驱动教程》15章--云端应用[colo ... -
《Android开发案例驱动教程》源码
2011-12-08 17:57 1228《Android开发案例驱动教程》15,16,17章源码 目 ... -
7.1.5 选项卡结合案例详解
2011-07-27 08:58 1418选项卡是通过TabHost和TabActivity一起实现的, ... -
7.1.4 ScrollView结合案例详解
2011-07-26 17:50 2093ScrollView是一个滚动条控件,当屏幕中内容很多时候需要 ... -
7.1.3 TimePicker结合案例详解
2011-07-25 17:06 3189TimePicker是Android的时间设置控件。TimeP ... -
7.1.2 DatePicker结合案例详解
2011-07-23 15:56 1585DatePicker是Android的日期设置控件。DateP ... -
7.1.1 ImageSwitcher案例分析详解
2011-07-21 10:50 2138ImageSwitcher图像切换器,可以切换器图像。Imag ... -
7.5 TableLayout布局详解
2011-07-20 10:17 1998TableLayout表格布局,将子元素的位置分配到行或列中。 ... -
7.4 AbsoluteLayout布局详解
2011-07-19 16:35 4543AbsoluteLayout绝对布局,指定了子元素准确的x/y ... -
7.3 RelativeLayout布局详解
2011-07-19 14:11 1001RelativeLayout相对布局, 允许子元素指定他们相对 ... -
7.2 LinearLayout布局详解
2011-07-18 10:23 1026LinearLayout线性布局,线性布局是所有布局中最常用的 ... -
6.4 Android国际化和本地化
2011-07-14 15:37 1553何谓国际化和本地化呢?就是在资源文件夹res内建立不同国家语言 ... -
6.1.6 Gallery结合案例详解
2011-07-13 17:04 1437Gallery(相册)控件是个很不错的图片查看控件,屏幕中有一 ... -
6.1.5 GridView详解
2011-07-13 09:25 1662Android中的数据能够通过GridView类实现表格化展现 ... -
6.2 Toast 详解
2011-07-12 17:02 857Toast用于向用户显示一些帮助或提示,有三种展现形式: • ... -
ListView分页(带图片)显示用法案例
2011-07-11 17:01 3085ListView是Android中最为常用的列表类型控件,Li ... -
Spinner用法案例
2011-07-11 15:26 2888Spinner控件也是一种列表类型的控件,它的继承关系如下: ... -
Android多媒体--网络文件播放
2011-07-08 15:22 1762网络文件就是指放在网络上的文件,也可能是流媒体等网络资源。由于 ... -
android多媒体开发--本地音频文件播放
2011-07-08 15:20 5899本地文件就是指文件放在Android系统的外部存储设 ...
相关推荐
google地图SKD使用和google定位SDK使用
实现Android Google 位置定位服务,显示位置信息
一个简单的 android google 地图定位 demo
android谷歌定位,用的异步线程,可以获取城市信息等等。
android google 定位程序 wifi基站GPS定位 等综合定位代码,
超实用android google定位范例!
androiid P高通平台仅支持gps定位,此patch为使平台支持网络定位。由于需要使用google定位服务,必须在外网环境下才能定位成功,并且第一次定位时间较长。
基于Google Map 开发android手机地图,通过GPS定位
android google/gps/network定位源码 定位当前位置 已运行成功
Android Google地图定位添加多个标记,设置路线。已集成好类库的官方Dome
NULL 博文链接:https://kurting615.iteye.com/blog/1150574
Android GPS 定位的实现 使用Google地图 Android下实现GPS定位服务
android基站手动查询定位系统,手动输入lac和cell,依靠强大的基站数据库,显示中文地址及在google地图上显示位置
Android谷歌网络地图定位演示源代码
支持Android下GPS定位、基站定位、WIFI定位(获取ssid通过google服务获取地理位置)
基于Android的GPS定位功能, 通过GPS定位获取地理位置坐标, 并且解析坐标信息向google请求坐标的详细位置(直接返回所在的位置信息,如城市名称等)
在android模拟器上可以使用google map,定位自己的位置,也可以定位任何给定的经度和纬度的精确位置,还可以获得各种语言的地理位置信息。
Android使用Google Map API创建的一个根据经纬度定位的程序. 交流QQ群:1279871
第18章讲解了GPS定位服务与Google地图开发的知识。 《Java和Android开发实战详解》适合Android开发入门者、Java程序员,以及作为大中专院校相关专业师生的学习用书,也可作为培训学校的教材。 第18章 Google地图...
针对这个变化,Google也给出了新的 解决方案。 第一步:升级SDK 修改build.gradle,升级APP的 compileSdkVersion 和 targetSdkVersion。 android { compileSdkVersion 29 defaultConfig { targetSdkVer