在地图上显示当前的位置

  1 package com.aihunqin.crazy;
  2
  3 import android.app.Activity;
  4 import android.os.Bundle;
  5 import android.view.View;
  6 import android.view.View.OnClickListener;
  7 import android.widget.TextView;
  8
  9 import com.baidu.location.BDLocation;
 10 import com.baidu.location.BDLocationListener;
 11 import com.baidu.location.LocationClient;
 12 import com.baidu.location.LocationClientOption;
 13 import com.baidu.location.LocationClientOption.LocationMode;
 14 import com.baidu.mapapi.SDKInitializer;
 15 import com.baidu.mapapi.map.BaiduMap;
 16 import com.baidu.mapapi.map.BitmapDescriptor;
 17 import com.baidu.mapapi.map.BitmapDescriptorFactory;
 18 import com.baidu.mapapi.map.MapStatusUpdate;
 19 import com.baidu.mapapi.map.MapStatusUpdateFactory;
 20 import com.baidu.mapapi.map.MapView;
 21 import com.baidu.mapapi.map.MarkerOptions;
 22 import com.baidu.mapapi.map.OverlayOptions;
 23 import com.baidu.mapapi.model.LatLng;
 24 import com.baidu.mapapi.search.route.DrivingRoutePlanOption;
 25 import com.baidu.mapapi.search.route.DrivingRouteResult;
 26 import com.baidu.mapapi.search.route.OnGetRoutePlanResultListener;
 27 import com.baidu.mapapi.search.route.PlanNode;
 28 import com.baidu.mapapi.search.route.RoutePlanSearch;
 29 import com.baidu.mapapi.search.route.TransitRouteResult;
 30 import com.baidu.mapapi.search.route.WalkingRouteResult;
 31 import com.example.aihunqin.R;
 32
 33 public class WenhongLocation extends Activity {
 34     BaiduMap mBaiduMap = null;
 35     MapView mMapView = null;
 36     public LocationClient mLocationClient;
 37     public MyLocationListener mMyLocationListener;
 38     public TextView mLocationResult, back;
 39
 40     @Override
 41     protected void onCreate(Bundle savedInstanceState) {
 42
 43         super.onCreate(savedInstanceState);
 44         SDKInitializer.initialize(getApplicationContext());
 45         setContentView(R.layout.layout_wenhonglocation);
 46
 47         back = (TextView) findViewById(R.id.back);
 48         back.setVisibility(View.VISIBLE);
 49         back.setOnClickListener(new OnClickListener() {
 50
 51             @Override
 52             public void onClick(View v) {
 53                 finish();
 54             }
 55         });
 56
 57         mMapView = (MapView) findViewById(R.id.bmapView);
 58         mBaiduMap = mMapView.getMap();
 59
 60         mLocationClient = new LocationClient(getApplicationContext());
 61         mMyLocationListener = new MyLocationListener();
 62         mLocationClient.registerLocationListener(mMyLocationListener);
 63         InitLocation();
 64         mLocationClient.start();
 65
 66     }
 67
 68     /**
 69      * 实现定位回调监听
 70      *
 71      * @author Alex
 72      *
 73      */
 74     public class MyLocationListener implements BDLocationListener {
 75
 76         @Override
 77         public void onReceiveLocation(BDLocation location) {
 78             // Receive Location
 79             StringBuffer sb = new StringBuffer(256);
 80             sb.append("time:");
 81             sb.append(location.getTime());
 82             sb.append("\nerror code:");
 83             sb.append(location.getLocType());
 84             sb.append("\nlatitude:");
 85             sb.append(location.getLatitude());
 86             sb.append("\nlontitude:");
 87             sb.append(location.getLongitude());
 88             sb.append("\nradius:");
 89             sb.append(location.getRadius());
 90             if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
 91                 sb.append("\naddr:");
 92                 sb.append(location.getAddrStr());
 93                 // 运营商信息
 94                 sb.append("\noperationers:");
 95                 sb.append(location.getOperators());
 96             }
 97
 98             setMarker(location.getLatitude(), location.getLongitude());
 99             // logMsg(sb.toString());
100         }
101     }
102
103     void setMarker(double lat, double lng) {
104         // 定义Markker坐标点
105         LatLng point = new LatLng(lat, lng);
106         // 构建Marker图标
107         BitmapDescriptor bitmap = BitmapDescriptorFactory
108                 .fromResource(R.drawable.startpoint);
109         // 构建MarkerOption,用于在地图上添加Marker
110         OverlayOptions option = new MarkerOptions().position(point)
111                 .icon(bitmap);
112         // 在地图上添加Marker,并显示
113         mBaiduMap.addOverlay(option);
114
115         MapStatusUpdate mapstatusupdate = MapStatusUpdateFactory
116                 .newLatLng(point);
117
118         mBaiduMap.setMapStatus(mapstatusupdate);
119
120         // setRoutePlan(point);
121     }
122
123     void setRoutePlan(LatLng point) {
124         // 驾车线路规划
125         RoutePlanSearch mSearch = RoutePlanSearch.newInstance();
126         OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() {
127
128             @Override
129             public void onGetWalkingRouteResult(WalkingRouteResult arg0) {
130                 // 获取步行路线规划结果
131             }
132
133             @Override
134             public void onGetTransitRouteResult(TransitRouteResult arg0) {
135                 // 获取公交换乘路径规划结果
136             }
137
138             @Override
139             public void onGetDrivingRouteResult(DrivingRouteResult arg0) {
140                 // 获取驾车路线规划结果
141             }
142         };
143         // 设置驾车线路规划检索监听者
144         mSearch.setOnGetRoutePlanResultListener(listener);
145         // 准备检索起、终点信息
146         PlanNode stNode = PlanNode.withLocation(point);
147         LatLng endpoint = new LatLng(121.473605, 31.232176);
148         PlanNode enNode = PlanNode.withLocation(endpoint);
149         mSearch.drivingSearch((new DrivingRoutePlanOption()).from(stNode).to(
150                 enNode));
151     }
152
153     /**
154      * 显示请求你字符串
155      *
156      * @param str
157      */
158     public void logMsg(String str) {
159         try {
160             if (mLocationResult != null)
161                 mLocationResult.setText(str);
162         } catch (Exception e) {
163             e.printStackTrace();
164         }
165     }
166
167     private void InitLocation() {
168         LocationClientOption option = new LocationClientOption();
169         option.setLocationMode(LocationMode.Battery_Saving);// 设置定位模式
170         option.setCoorType("bd09ll");
171         option.setIsNeedAddress(true);
172         mLocationClient.setLocOption(option);
173     }
174 }

在地图上显示当前的位置

时间: 2024-12-11 09:35:27

在地图上显示当前的位置的相关文章

百度地图如何引用到自己网站,并在地图上显示企业的相关信息

步骤一: 打开下面这个地址:http://api.map.baidu.com/lbsapi/creatmap/index.html 步骤二:定位中心点 在打开的页面左侧,输入企业的详细地址,然后点查找,即可在右侧的地图中显示企业的具体位置. 步骤三:设置地图 主要是设置地图的尺寸大小,其它的按照默认即可,比如我们要调用的地图大小宽度为600像素,高度为500像素 步骤四:添加标注 这是关键的一步,点开后,我们点选那个绿色的小点图标,然后在地图上企业所在的位置点击一下,即可标注好地点,标记好了之后

html5定位并在百度地图上显示

在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolocation.getCurrentPosition(callback); 在获取坐标成功之后会执行回调函数 callback; callback 方法的参数就是获取到的坐标点:然后可以初始化地图,设置控件.中心点.缩放等级,然后给地图添加point的overlay: var map = new BM

在谷歌地图上显示地名等信息,类似infowindow

function Tooltip(options) {      this.marker_ = options.marker;     this.content_ = options.content;     this.map_ = options.marker.get('map');     this.cssClass_ = options.cssClass || null;      this.is_hidden = options.is_hidden === undefined ? !0 

怎么在map上显示自己的位置

============问题描述============ RT,已经能获取到自己位置的坐标了,不知道怎么在map上添加图标,十分感谢 ============解决方案1============ arcgis大概如下: GraphicsLayer graphicsLayer = new GraphicsLayer(); mapView.addLayer(graphicsLayer); Point  loc= new Point(120.8664698600769,36.14800174970085

通过window.navigator对象获取地理位置信息并在百度地图上显示

通过window.navigator对象获取地理位置信息 Geolocation API:用户可共享地理位置,并在Web应用的协助下享用位置感知服务(location-aware services) window.navigator下的geolocation 对象的 getCurrentPosition 方法可以获取当前位置.getCurrentPosition 方法将发起对位置信息的异步请求并将立即返回.如果该请求成功完成,则调用用来实现位置数据接收的成功回调. 下面演示如何调用 getCur

Excel中的的经纬度坐标在地图上显示

Excel中有这样关于经纬度的数据: 22.56614225 113.9808368 22.68620526 113.9405252 22.57651183 113.957198 22.56484081 114.2445711 22.55888775 113.9507227 22.55899906 114.2413174 22.54900371 113.9722597 22.56277351 113.9565735 22.50001192 113.8956606 22.5437861 113.9

地图上显示div点位

功能核心:  地理坐标转屏幕坐标 用到的插件:jquery  animo动画插件 核心代码: var point = new Point(lon, lat, map.spatialReference); var screenPnt = map.toScreen(point); 功能代码: <span style="font-size:14px;">for (var i = 0; i < json.length; i++) {</span> <span

hightmaps 按地图上显示的统计数据

离extjs 至 easyui 到html5到hightchars 再到hightmaps.Exjts和easyui很相似,extjs是重量级的,easyui轻量级的.比extjs容易上手.照着demo改就能够开发了.easyui入门demo见:easyui-demo,或者到官网http://www.jeasyui.com/:会了easyui开发,上手html5界面开发也很的快.大多类似的.到html5-demo界面开发 下载demo 然后把demo放到自己的web项目中或者訪问http://w

小程序map地图上显示多个marker

wxml <map id="myMap" style="width: {{mapWidth}}rpx; height: {{mapHeight}}rpx;" latitude="{{latitude}}" longitude="{{longitude}}" markers="{{markers}}" show-location bindmarkertap="selectMarket"