/** * 定位接收到的地址 **/ private void locationReceiveAddress() { if (receiveAddress == null) { return; } LatLng p = new LatLng(receiveAddress.getLatitude(), receiveAddress.getLongitude()); MarkerOptions markerOptions = new MarkerOptions(); /* 设置覆盖物图标 */ markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_openmap_focuse_mark)) .position(p) .visible(true); baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { setSinglePoiDetail(); return true; } }); if (NetUtil.getInstance(SetFavoriteMapActivity.this).getCurrentNetType().equals(NetUtil.NetType.NETWORK_TYPE_NONE)) { // Snackbar.make(mAmosfPoiList,mAppConfig.getResources().getString(R.string.no_network), Snackbar.LENGTH_SHORT).show(); return; } /* 添加覆盖图层 */ baiduMap.addOverlay(markerOptions); baiduMap.setMapStatus(MapStatusUpdateFactory.newLatLngZoom(p, 17F)); }
@Override public final List<OverlayOptions> getOverlayOptions() { if (mIndoorPoiResult == null || mIndoorPoiResult.getmArrayPoiInfo() == null) { return null; } List<OverlayOptions> markerList = new ArrayList<OverlayOptions>(); int markerSize = 0; for (int i = 0; i < mIndoorPoiResult.getmArrayPoiInfo().size() && markerSize < MAX_POI_SIZE; i++) { if (mIndoorPoiResult.getmArrayPoiInfo().get(i).latLng == null) { continue; } markerSize++; Bundle bundle = new Bundle(); bundle.putInt("index", i); markerList.add(new MarkerOptions() .icon(BitmapDescriptorFactory.fromAssetWithDpi("Icon_mark" + markerSize + ".png")).extraInfo(bundle) .position(mIndoorPoiResult.getmArrayPoiInfo().get(i).latLng)); } return markerList; }
@Override public final List<OverlayOptions> getOverlayOptions() { if (mPoiResult == null || mPoiResult.getAllPoi() == null) { return null; } List<OverlayOptions> markerList = new ArrayList<OverlayOptions>(); int markerSize = 0; for (int i = 0; i < mPoiResult.getAllPoi().size() && markerSize < MAX_POI_SIZE; i++) { if (mPoiResult.getAllPoi().get(i).location == null) { continue; } markerSize++; Bundle bundle = new Bundle(); bundle.putInt("index", i); markerList.add(new MarkerOptions() .icon(BitmapDescriptorFactory.fromAssetWithDpi("Icon_mark" + markerSize + ".png")).extraInfo(bundle) .position(mPoiResult.getAllPoi().get(i).location)); } return markerList; }
private void addOverLayout(double _latitude, double _longitude) { //先清除图层 mBaiduMap.clear(); mlocationClient.requestLocation(); // 定义Maker坐标点 LatLng point = new LatLng(_latitude, _longitude); // 构建MarkerOption,用于在地图上添加Marker MarkerOptions options = new MarkerOptions().position(point) .icon(dragLocationIcon); // 在地图上添加Marker,并显示 mBaiduMap.addOverlay(options); infos.clear(); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_mobai, "001", "100米", "1分钟")); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_youbai, "002", "200米", "2分钟")); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_ofo, "003", "300米", "3分钟")); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_xiaolan, "004", "400米", "4分钟")); BikeInfo bikeInfo = new BikeInfo(_latitude - 0.0005, _longitude - 0.0005, R.mipmap.bike_xiaolan, "005", "50米", "0.5分钟"); infos.add(bikeInfo); addInfosOverlay(infos); initNearestBike(bikeInfo, new LatLng(_latitude - 0.0005, _longitude - 0.0005)); }
@Override public void handleMessage(Message msg) { final SeeLocationActivity activity = activityWeakReference.get(); switch (msg.what) { case 0: final String response = (String) msg.obj; Scanner scanner = new Scanner(response); double latitude = Double.parseDouble(scanner.next()); double longitude = Double.parseDouble(scanner.next()); LatLng point = new LatLng(latitude, longitude); if (activity.centP == null) { activity.centP = point; activity.baiduMap.setMapStatus(MapStatusUpdateFactory.newLatLng(activity.centP)); } activity.initHeadBitmap(); OverlayOptions options = new MarkerOptions().position(point).icon(activity.bitmapDescriptor); activity.baiduMap.clear(); activity.baiduMap.addOverlay(options); break; } }
/** * 初始化百度地图 */ private void initBaiduMap() { // 设置是否显示缩放控件 mMapView.showZoomControls(false); mBaiduMap = mMapView.getMap(); // 设定地图中心点坐标:宁波天翔货柜有限公司(云台山路) LatLng point = new LatLng(29.882673, 121.894326); // 以动画方式更新地图状态,动画耗时默认 300 ms ,地图支持的最大最小级别分别为[3-21] mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLngZoom(point, 18)); // 定义Maker坐标点:宁波天翔货柜有限公司(云台山路) ArrayList<BitmapDescriptor> giflist = new ArrayList<>(); giflist.add(BitmapDescriptorFactory.fromResource(R.mipmap.ic_marker)); giflist.add(BitmapDescriptorFactory.fromResource(R.mipmap.ic_marker_light)); // 通过marker的icons设置一组图片,再通过period设置多少帧刷新一次图片资源 MarkerOptions mo = new MarkerOptions().position(point).icons(giflist).zIndex(0).period(20); // 设置生长动画/掉下动画 // mo.animateType(MarkerOptions.MarkerAnimateType.drop); // 在地图上添加Marker,并显示 mBaiduMap.addOverlay(mo); }
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_routeplan); mTvtitle = (TextView) findViewById(R.id.tv_topbar_title); mTvtitle.setText("财神谷地址"); ImageView img = (ImageView) findViewById(R.id.img_topbar_back); img.setImageResource(R.mipmap.icon_back); img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { RoutePlanDemo.this.finish(); } }); // mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);//获取传感器管理服务 // 初始化地图 mMapView = (MapView) findViewById(R.id.map); mBaidumap = mMapView.getMap(); MapStatus.Builder builder = new MapStatus.Builder(); builder.zoom(18.0f); builder.target(new LatLng(29.184662, 121.305024)); mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(builder.build()); mBaidumap.setMapStatus(mMapStatusUpdate); MarkerOptions ooA = new MarkerOptions().position(GEO_NINGBO).icon(bdA) .zIndex(9).draggable(true); mBaidumap.addOverlay(ooA); mBaidumap.setTrafficEnabled(true); findViewById(R.id.lin_action_route).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { go2ThirdMap(); } }); }
private void addOverLayout(double _latitude, double _longitude) { //先清除图层 baiduMap.clear(); mlocationClient.requestLocation(); // 定义Maker坐标点 LatLng point = new LatLng(_latitude, _longitude); // 构建MarkerOption,用于在地图上添加Marker MarkerOptions options = new MarkerOptions().position(point) .icon(dragLocationIcon); // 在地图上添加Marker,并显示 baiduMap.addOverlay(options); infos.clear(); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_mobai, "001", "100米", "1分钟")); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_youbai, "002", "200米", "2分钟")); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_ofo, "003", "300米", "3分钟")); infos.add(new BikeInfo(_latitude - new Random().nextInt(5) * 0.0005, _longitude - new Random().nextInt(5) * 0.0005, R.mipmap.bike_xiaolan, "004", "400米", "4分钟")); BikeInfo bikeInfo = new BikeInfo(_latitude - 0.0005, _longitude - 0.0005, R.mipmap.bike_xiaolan, "005", "50米", "0.5分钟"); infos.add(bikeInfo); addInfosOverlay(infos); initNearestBike(bikeInfo, new LatLng(_latitude - 0.0005, _longitude - 0.0005)); }
/** * 画出实时线路点 * * @param point */ private void drawRealtimePoint(LatLng point) { Log.i("TGA", "绘制成功"); mBaiduMap.clear(); MapStatus mapStatus = new MapStatus.Builder().target(point).zoom(18).build(); msUpdate = MapStatusUpdateFactory.newMapStatus(mapStatus); realtimeBitmap = BitmapDescriptorFactory.fromResource(R.drawable.ct_map_location); overlay = new MarkerOptions().position(point) .icon(realtimeBitmap).zIndex(9).draggable(true); if (pointList.size() >= 2 && pointList.size() <= 6000) { polyline = new PolylineOptions().width(10).color(Color.GREEN).points(pointList); } addMarker(); }
private void addMarker() { if (stLatLng != null) { BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.ct_map_location_32); OverlayOptions option = new MarkerOptions().position(stLatLng).icon(bitmap); mBaiduMap.addOverlay(option); } if (msUpdate != null) { mBaiduMap.setMapStatus(msUpdate); } if (polyline != null) { mBaiduMap.addOverlay(polyline); } if (overlay != null) { mBaiduMap.addOverlay(overlay); } }
private MarkerOptions fromMarkerInfo(MarkerInfo markerInfo, boolean isDraggable) { final LatLong coord = markerInfo.getPosition(); if (coord == null) { return null; } final MarkerOptions markerOptions = new MarkerOptions() .position(MapUtils.coordToBaiduLatLng(coord)) .draggable(isDraggable) .alpha(markerInfo.getAlpha()) .anchor(markerInfo.getAnchorU(), markerInfo.getAnchorV()) .rotate(markerInfo.getRotation()) .title(markerInfo.getTitle()) .flat(markerInfo.isFlat()) .visible(markerInfo.isVisible()); final Bitmap markerIcon = markerInfo.getIcon(getResources()); if (markerIcon != null) { markerOptions.icon(BitmapDescriptorFactory.fromBitmap(markerIcon)); } return markerOptions; }
/** * 初始化地图 */ private void initMapView() { //设定中心点坐标 myLatLng = new LatLng(Const.LATITUDE_OF_MY_LOCATION,Const.LONGITUDE_OF_MY_LOCATION); //定义地图状态 MapStatus mMapStatus = new MapStatus.Builder() .target(myLatLng) .zoom(18) .build(); //定义MapStatusUpdate对象,以便描述地图状态将要发生的变化 bd = BitmapDescriptorFactory .fromResource(R.drawable.icon_gcoding); MarkerOptions markerOptions = new MarkerOptions().position(myLatLng).icon(bd); mBaiduMap.addOverlay(markerOptions); MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus); //改变地图状态 mBaiduMap.setMapStatus(mMapStatusUpdate); }
private void generateMarker(MarkerInfo markerInfo, LatLng position, boolean isDraggable) { Log.v("123","SSSSSSSSSSSSSSSSSSSSSSSSSSSSS"); final MarkerOptions markerOptions = new MarkerOptions() .position(position) .draggable(isDraggable) .anchor(markerInfo.getAnchorU(), markerInfo.getAnchorV()) .title(markerInfo.getSnippet()).title(markerInfo.getTitle()); final Bitmap markerIcon = markerInfo.getIcon(getResources()); if (markerIcon != null) { markerOptions.icon(BitmapDescriptorFactory.fromBitmap(markerIcon)); } else { markerOptions.icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_marker_white)); } Marker marker = (Marker)getBaiduMap().addOverlay(markerOptions); mBiMarkersMap.put(markerInfo, marker); }
private void initMaker() { for (FootInfo info : mFootList) { if (info.geo != null) { Double lat = Double.valueOf(info.geo.latitude); Double lon = Double.valueOf(info.geo.longitude); // 定义Maker坐标点 LatLng point = new LatLng(lat,lon); // 构建Marker图标 BitmapDescriptor bitmap = BitmapDescriptorFactory .fromResource(R.drawable.icon_gcoding); // 构建MarkerOption,用于在地图上添加Marker OverlayOptions option = new MarkerOptions().position(point) .icon(bitmap).zIndex(19); marker = (Marker)baiduMap.addOverlay(option); } } mMapView.invalidate(); }
/** * 显示地理标记 * * @param mapView * @param array */ @ReactProp(name="marker") public void setMarker(MapView mapView, ReadableArray array) { Log.d(TAG, "marker:" + array); if (array != null) { for (int i = 0; i < array.size(); i++) { ReadableArray sub = array.getArray(i); //定义Maker坐标点 LatLng point = new LatLng(sub.getDouble(0), sub.getDouble(1)); //构建Marker图标 BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding); //构建MarkerOption,用于在地图上添加Marker OverlayOptions option = new MarkerOptions() .position(point) .icon(bitmap) .draggable(true); //在地图上添加Marker,并显示 mapView.getMap().addOverlay(option); } } }
@Override public final List<OverlayOptions> getOverlayOptions() { if (mBusLineResult == null || mBusLineResult.getStations() == null) { return null; } List<OverlayOptions> overlayOptionses = new ArrayList<OverlayOptions>(); for (BusLineResult.BusStation station : mBusLineResult.getStations()) { overlayOptionses.add(new MarkerOptions() .position(station.getLocation()) .zIndex(10) .anchor(0.5f, 0.5f) .icon(BitmapDescriptorFactory .fromAssetWithDpi("Icon_bus_station.png"))); } List<LatLng> points = new ArrayList<LatLng>(); for (BusLineResult.BusStep step : mBusLineResult.getSteps()) { if (step.getWayPoints() != null) { points.addAll(step.getWayPoints()); } } if (points.size() > 0) { overlayOptionses .add(new PolylineOptions().width(10) .color(Color.argb(178, 0, 78, 255)).zIndex(0) .points(points)); } return overlayOptionses; }
private void addOverLayout(LatLng startPosition, LatLng endPosition) { //先清除图层 // mBaiduMap.clear(); // 定义Maker坐标点 // 构建MarkerOption,用于在地图上添加Marker MarkerOptions options = new MarkerOptions().position(startPosition) .icon(startBmp); // 在地图上添加Marker,并显示 routeBaiduMap.addOverlay(options); MarkerOptions options2 = new MarkerOptions().position(endPosition) .icon(endBmp); // 在地图上添加Marker,并显示 routeBaiduMap.addOverlay(options2); }
public void setOverlayOptions(List<BaiduAddress> list) { if (list == null || list.size() == 0) return; overlayOptionses = new ArrayList<>(); int l = Math.min(list.size(), 10); for (int i = 0; i < l; ++i) { Bundle bundle = new Bundle(); bundle.putInt("index", i); overlayOptionses.add((new MarkerOptions()).icon( BitmapDescriptorFactory.fromAssetWithDpi("Icon_mark" + (i + 1) + ".png")). extraInfo(bundle). position(new LatLng(list.get(i).getLatitude(), list.get(i).getLongitude()))); } }
/** * 设置图层参数 **/ public void setOverlayOptions(List<BaiduAddress> list) { if (list == null || list.size() == 0) return; overlayOptionses = new ArrayList<>(); int l = Math.min(list.size(), 10); for (int i = 0; i < l; ++i) { Bundle bundle = new Bundle(); bundle.putInt("index", i); overlayOptionses.add((new MarkerOptions()).icon( BitmapDescriptorFactory.fromAssetWithDpi("Icon_mark" + (i + 1) + ".png")). extraInfo(bundle). position(new LatLng(list.get(i).getLatitude(), list.get(i).getLongitude()))); } }
private void showMap(double latitude, double longtitude, String address) { sendButton.setVisibility(View.GONE); LatLng llA = new LatLng(latitude, longtitude); CoordinateConverter converter= new CoordinateConverter(); converter.coord(llA); converter.from(CoordinateConverter.CoordType.COMMON); LatLng convertLatLng = converter.convert(); OverlayOptions ooA = new MarkerOptions().position(convertLatLng).icon(BitmapDescriptorFactory .fromResource(R.drawable.ease_icon_marka)) .zIndex(4).draggable(true); mBaiduMap.addOverlay(ooA); MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(convertLatLng, 17.0f); mBaiduMap.animateMapStatus(u); }
@Override public void onReceiveLocation(BDLocation location) { if (location == null) { return; } Log.d("map", "On location change received:" + location); Log.d("map", "addr:" + location.getAddrStr()); sendButton.setEnabled(true); if (progressDialog != null) { progressDialog.dismiss(); } if (lastLocation != null) { if (lastLocation.getLatitude() == location.getLatitude() && lastLocation.getLongitude() == location.getLongitude()) { Log.d("map", "same location, skip refresh"); // mMapView.refresh(); //need this refresh? return; } } lastLocation = location; mBaiduMap.clear(); LatLng llA = new LatLng(lastLocation.getLatitude(), lastLocation.getLongitude()); CoordinateConverter converter= new CoordinateConverter(); converter.coord(llA); converter.from(CoordinateConverter.CoordType.COMMON); LatLng convertLatLng = converter.convert(); OverlayOptions ooA = new MarkerOptions().position(convertLatLng).icon(BitmapDescriptorFactory .fromResource(R.drawable.ease_icon_marka)) .zIndex(4).draggable(true); mBaiduMap.addOverlay(ooA); MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(convertLatLng, 17.0f); mBaiduMap.animateMapStatus(u); }
/** * Called before the marker for a Cluster is added to the map.在聚合物被放到地图上之前调用 * The default implementation draws a circle with a rough count of the number of items. * 默认生成一个带有数字的圆 */ protected void onBeforeClusterRendered(Cluster<T> cluster, MarkerOptions markerOptions) { int bucket = getBucket(cluster); BitmapDescriptor descriptor = mIcons.get(bucket); if (descriptor == null) { mColoredCircleBackground.getPaint().setColor(getColor()); Bitmap bitmap = mIconGenerator.makeIcon(getClusterText()); descriptor = BitmapDescriptorFactory.fromBitmap(bitmap); mIcons.put(bucket, descriptor); } // TODO: consider adding anchor(.5, .5) (Individual markers will overlap more often) markerOptions.icon(descriptor); }
/** * initOverlay 设置覆盖物,这里就是地图上那个点 */ private void initOverlay() { LatLng ll = new LatLng(AppApplication.mMockGps.mLatitude, AppApplication.mMockGps.mLongitude); OverlayOptions oo = new MarkerOptions().position(ll).icon(bd).zIndex(9) .draggable(true); mMarker = (Marker) (mBaiduMap.addOverlay(oo)); }
private void addDestInfoOverlay(LatLng latLng1) { mBaiduMap.clear(); OverlayOptions options=new MarkerOptions().position(latLng1) .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_place)) .zIndex(5); mBaiduMap.addOverlay(options); }
/** * 添加目标点 * * @param arg0 */ private void addDestInfoOverlay(LatLng arg0) { mbaiduMap.clear(); OverlayOptions options = new MarkerOptions().position(arg0) .icon(BitmapDescriptorFactory.fromResource(R.drawable.maker)) .zIndex(5); Marker marker = (Marker) mbaiduMap.addOverlay(options); list.add(marker); }