private void showMap(double latitude, double longtitude, String address) { sendButton.setVisibility(View.GONE); GeoPoint point1 = new GeoPoint((int) (latitude * 1e6), (int) (longtitude * 1e6)); point1 = CoordinateConvert.fromGcjToBaidu(point1); mMapController.setCenter(point1); Drawable marker = this.getResources().getDrawable(R.drawable.icon_marka); // 为maker定义位置和边界 marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight()); mAddrOverlay = new ItemizedOverlay<OverlayItem>(marker, mMapView); GeoPoint point = new GeoPoint((int) (latitude * 1e6), (int) (longtitude * 1e6)); point = CoordinateConvert.fromGcjToBaidu(point); OverlayItem addrItem = new OverlayItem(point, "", address); mAddrOverlay.addItem(addrItem); mMapView.getOverlays().add(mAddrOverlay); mMapView.refresh(); }
public void addVenueLocations(List<BDLocation> locationList) { ItemizedOverlay<OverlayItem> locationOverlay = new ItemizedOverlay<OverlayItem>( getResources().getDrawable(R.drawable.ic_checkbox_selected), mMapView); mMapView.getOverlays().add(locationOverlay); GeoPoint geoPoint = null; for (BDLocation location : locationList) { geoPoint = Utils.BDToGeoPoint(location); locationOverlay.addItem(new OverlayItem(geoPoint, "A", "A")); } }
private void showMapWithLocationClient() { progressDialog = new ProgressDialog(this); progressDialog.setCanceledOnTouchOutside(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setMessage("正在确定你的位置..."); progressDialog.setOnCancelListener(new OnCancelListener() { public void onCancel(DialogInterface arg0) { if (progressDialog.isShowing()) { progressDialog.dismiss(); } Log.d("map cancel retrieve location"); finish(); } }); progressDialog.show(); mLocClient = new LocationClient(this); mLocClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setOpenGps(true);// 打开gps // option.setCoorType("bd09ll"); //设置坐标类型 // Johnson change to use gcj02 coordination. chinese national standard // so need to conver to bd09 everytime when draw on baidu map option.setCoorType("gcj02"); option.setScanSpan(30000); option.setAddrType("all"); mLocClient.setLocOption(option); Drawable marker = this.getResources().getDrawable(R.drawable.icon_marka); // 为maker定义位置和边界 marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight()); mAddrOverlay = new ItemizedOverlay<OverlayItem>(marker, mMapView); mMapView.getOverlays().add(mAddrOverlay); mMapListener = new MKMapViewListener() { @Override public void onMapMoveFinish() { // TODO Auto-generated method stub } @Override public void onClickMapPoi(MapPoi mapPoiInfo) { // TODO Auto-generated method stub String title = ""; if (mapPoiInfo != null) { title = mapPoiInfo.strText; Toast.makeText(BaiduMapActivity.this, title, Toast.LENGTH_SHORT).show(); } } @Override public void onGetCurrentMap(Bitmap b) { // TODO Auto-generated method stub } @Override public void onMapAnimationFinish() { } }; mMapView.regMapViewListener(mBMapManager, mMapListener); if (lastLocation != null) { GeoPoint point1 = new GeoPoint((int) (lastLocation.getLatitude() * 1e6), (int) (lastLocation.getLongitude() * 1e6)); point1 = CoordinateConvert.fromGcjToBaidu(point1); mMapController.setCenter(point1); } mMapView.refresh(); mMapView.invalidate(); }
public void addDriverOverlay() { Drawable mark = getResources().getDrawable(R.drawable.icon_marka); itemOverlay = new ItemizedOverlay(mark, mMapView); mMapView.getOverlays().add(itemOverlay); }