百度地图中的覆盖物
来源:互联网 发布:手机淘宝上怎么开网店 编辑:程序博客网 时间:2024/05/18 00:15
百度地图中的覆盖物
百度地图中的覆盖物应该算是一个难点
覆盖物的基础请参考百度开发者(我这里就不详细说了)
我这里就说我觉得重要的几个
1.我的位置图层(结合百度定位SDK,可以实现地图的定位)
2.POI(信息点)、路线、公交图层
3.自定义图层
4.PopupOverlay弹出图层
5.文字、几何图层
6.自定义View
在百度地图可以正常显示的基础上,结合百度定位SDK,实现自己位置在地图上的显示
1.导入百度定位SDK 并增加相应权限
其他的图层pop 自定义图层我都在上一张的事件中有提到(但是我的代码不适合 它里面还集成了很多其他的 如新浪微博接口)
还是很建议初学者多去看看百度的开发者文档(里面的多看多实践 你才会有所创新)
百度的开发者文档我看了最少不下5遍(但是每次在用到的时候还是要参考百度示例demo)
百度的类库我也看了总结了 但每次还是会有新的体会
如果大家想在自己定位图层增加点击事件
继承MyLocationOverlay重写dispatchTap实现点击处理
百度地图中的覆盖物应该算是一个难点
覆盖物的基础请参考百度开发者(我这里就不详细说了)
我这里就说我觉得重要的几个
1.我的位置图层(结合百度定位SDK,可以实现地图的定位)
2.POI(信息点)、路线、公交图层
3.自定义图层
4.PopupOverlay弹出图层
5.文字、几何图层
6.自定义View
在百度地图可以正常显示的基础上,结合百度定位SDK,实现自己位置在地图上的显示
1.导入百度定位SDK 并增加相应权限
编写代码:
// 定位的实现public LocationClient locationClient = null;public BDLocationListener mylistener = new MyLocationListener();public MyLocationOverlay myLocationOverlay = null;// 负责显示当前用户的层public LocationData locationData = null;// 定位有关的初始化//接下来: locationClient = new LocationClient(getApplicationContext());locationClient.registerLocationListener(mylistener);// 定位自己的位置,并向服务器更新自己的位置,IP,端口号信息等,在监听器里实现localinit();// 本地信息的一些初始化requestLocation();// 定位请求,请求过程public void requestLocation() {Toast.makeText(MainActivity.this, "定位...", Toast.LENGTH_SHORT).show();locationClient.requestLocation();// ??locationClient是什么类,API和工程里没有它的定义}public void localinit() {LocationClientOption option = new LocationClientOption();option.setOpenGps(true);option.setAddrType("all");// 返回的定位结果包含地址信息option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02// option.setScanSpan(5000);//设置发起定位请求的间隔时间为5000msoption.disableCache(true);// 禁止启用缓存定位option.setPoiNumber(5); // 最多返回POI个数option.setPoiDistance(1000); // poi查询距离option.setPoiExtraInfo(true); // 是否需要POI的电话和地址等详细信息locationClient.setLocOption(option);locationClient.start();}/** * 获取定位结果,获取POI信息 */public class MyLocationListener implements BDLocationListener {@SuppressLint("UseValueOf")@Overridepublic void onReceiveLocation(BDLocation location) {if (location == null)return;/* * 防止我的图层重复创建 */if (myLocationOverlay != null) {mapView.getOverlays().remove(myLocationOverlay);}myLocationOverlay = new locationOverlay(mapView);locationData = new LocationData();//locationData.latitude = location.getLatitude();locationData.longitude = location.getLongitude();myLocationOverlay.enableCompass();locationData.accuracy = location.getRadius();locationData.direction = location.getDerect();myLocationOverlay.setData(locationData);ptstart = new GeoPoint((int) (location.getLatitude() * 1e6),(int) (location.getLongitude() * 1e6));mapView.getOverlays().add(myLocationOverlay);// 添加自己位置的图层mapView.refresh();mapController.animateTo(ptstart);// 在lbs云上更新自己的信息 /*if (per.getId() != null) {per.setIp(udp_SendRecv.getLocalIpAddress());per.setLatitude(locationData.latitude);per.setLongitude(locationData.longitude);per.setPort(new Integer(port).toString());per.setAdressString(location.getAddrStr());// 增加的字段// Toast.makeText(MainActivity.this, "id为" +// per.getId(),Toast.LENGTH_SHORT).show();/* * 百度的地图格式 经纬度 ip port 心情 *//*String cmd = per.getId() + ",original_lat="+ locationData.latitude + "&original_lon="+ locationData.longitude + "&telephone=" + per.getIp()+ "&name=" + per.getNameString() + "&zip_code="+ per.getPort()/* 增加心情字段 */+ "&address="+ per.getFelling() + "&category_id=" + per.getGender();progress.setVisibility(View.VISIBLE);httpclient.request(cmd, 3, handler);}*/}public void onReceivePoi(BDLocation poiLocation) {if (poiLocation == null) {return;}}}
其他的图层pop 自定义图层我都在上一张的事件中有提到(但是我的代码不适合 它里面还集成了很多其他的 如新浪微博接口)
还是很建议初学者多去看看百度的开发者文档(里面的多看多实践 你才会有所创新)
百度的开发者文档我看了最少不下5遍(但是每次在用到的时候还是要参考百度示例demo)
百度的类库我也看了总结了 但每次还是会有新的体会
如果大家想在自己定位图层增加点击事件
继承MyLocationOverlay重写dispatchTap实现点击处理
可以增加如下代码:
// 继承MyLocationOverlay重写dispatchTap实现点击处理public class locationOverlay extends MyLocationOverlay {public locationOverlay(MapView mapView) {super(mapView);}@Overrideprotected boolean dispatchTap() {if (kkkkk>1) {return false;}myinfo(per);// 弹出自定义的对话框return false;}}
- 百度地图中的覆盖物
- 百度地图MapView中的覆盖物
- 百度地图覆盖物
- 百度地图覆盖物
- 百度地图中的多地图覆盖物的实现
- 百度地图----地图覆盖物
- 百度地图标注覆盖物
- 百度地图覆盖物功能
- 百度地图&&覆盖物OverlayOptions
- 百度地图之覆盖物
- 百度地图添加覆盖物
- 百度地图自定义覆盖物
- 百度地图覆盖物id
- 百度地图自定义覆盖物
- 百度地图自定义覆盖物
- 百度地图-重写百度覆盖物
- 百度地图SDK for Android【覆盖物】
- android 百度地图 二、覆盖物
- ACMer感想帖/退役帖汇总
- 软件测试知识点
- Matlab连续读取多个文件
- 剑指Offer算法实现之十二:打印1到最大的n位数
- git回滚
- 百度地图中的覆盖物
- 变量使用之前最好初始化
- 详细讲解局域网IP地址
- Linux--12:嫌Ubuntu 12.04字体发虚,对眼睛保护有加的进来
- 杭电3342Legal or Not (拓扑排序)
- Dribbble for windows phone 8
- 我在博客园
- XCode中Objective-C功能支持情况索引
- HDU4565 && 2013年长沙邀请赛A题