@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; }
/** * 将所有Overlay 添加到地图上 */ public final void addToMap() { if (mBaiduMap == null) { return; } removeFromMap(); List<OverlayOptions> overlayOptions = getOverlayOptions(); if (overlayOptions != null) { mOverlayOptionList.addAll(getOverlayOptions()); } for (OverlayOptions option : mOverlayOptionList) { mOverlayList.add(mBaiduMap.addOverlay(option)); } }
@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 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); } }
/** * ������Overlay ��ӵ���ͼ�� */ public final void addToMap() { if (mBaiduMap == null) { return; } removeFromMap(); List<OverlayOptions> overlayOptions = getOverlayOptions(); if (overlayOptions != null) { mOverlayOptionList.addAll(getOverlayOptions()); } for (OverlayOptions option : mOverlayOptionList) { mOverlayList.add(mBaiduMap.addOverlay(option)); } }
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; }
/** * 通过一个BaiduMap 对象构造 * * @param baiduMap */ public OverlayManager(BaiduMap baiduMap) { mBaiduMap = baiduMap; // mBaiduMap.setOnMarkerClickListener(this); if (mOverlayOptionList == null) { mOverlayOptionList = new ArrayList<OverlayOptions>(); } if (mOverlayList == null) { mOverlayList = new ArrayList<Overlay>(); } }
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); }
/** * 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); }