com.amap.api.maps.AMapUtils Java Examples
The following examples show how to use
com.amap.api.maps.AMapUtils.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AmapFragment.java From BmapLite with GNU General Public License v3.0 | 6 votes |
public void deleteRangingPoi() { if (mPoiList.size() > 1) { MyPoiModel end = mPoiList.get(mPoiList.size() - 1); MyPoiModel pre = mPoiList.get(mPoiList.size() - 2); mTotal -= AMapUtils.calculateLineDistance(new LatLng(end.getLatitude(), end.getLongitude()), new LatLng(pre.getLatitude(), pre.getLongitude())); mPoiList.remove(mPoiList.size() - 1); ((MainActivity) getActivity()).setRangingDistance(mTotal); } else if (mPoiList.size() == 1) { mPoiList.remove(mPoiList.size() - 1); mTotal = 0; ((MainActivity) getActivity()).setRangingDistance(mTotal); } if (!mRangingMarkerList.isEmpty()) { mRangingMarkerList.get(mRangingMarkerList.size() - 1).remove(); mRangingMarkerList.remove(mRangingMarkerList.size() - 1); } if (!mLineList.isEmpty()) { mLineList.get(mLineList.size() - 1).remove(); mLineList.remove(mLineList.size() - 1); } }
Example #2
Source File: MainActivity.java From RecordPath3D with Apache License 2.0 | 6 votes |
private float getDistance(List<AMapLocation> list) { float distance = 0; if (list == null || list.size() == 0) { return distance; } for (int i = 0; i < list.size() - 1; i++) { AMapLocation firstpoint = list.get(i); AMapLocation secondpoint = list.get(i + 1); LatLng firstLatLng = new LatLng(firstpoint.getLatitude(), firstpoint.getLongitude()); LatLng secondLatLng = new LatLng(secondpoint.getLatitude(), secondpoint.getLongitude()); double betweenDis = AMapUtils.calculateLineDistance(firstLatLng, secondLatLng); distance = (float) (distance + betweenDis); } return distance; }
Example #3
Source File: BuildingPoint.java From RunMap with Apache License 2.0 | 6 votes |
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } BuildingPoint that = (BuildingPoint) o; if( AMapUtils.calculateLineDistance(latLng,that.latLng) < RMConfiguration.MAX_DISTANCE){ return true; } if(StringUtils.isEmpty(buildName) && StringUtils.isEmpty(that.buildName)){ return false; } return buildName != null ? buildName.equals(that.buildName) : that.buildName == null; }
Example #4
Source File: SpeedAndDistanceFilter.java From RunMap with Apache License 2.0 | 6 votes |
@Override public boolean accept(AMapLocation previous, AMapLocation current) { if(previous == null){ return true; } LatLng pre = new LatLng(previous.getLatitude(), previous.getLongitude()); LatLng cur = new LatLng(current.getLatitude(), current.getLongitude()); float distance = AMapUtils.calculateLineDistance(pre, cur); if(distance < RMConfiguration.DRAW_DISTANCE){ return false; } float speed = current.getSpeed(); double interval = (SystemClock.elapsedRealtime() - mPreviousUpdateTime)/1000.0; float v = (float) (distance/interval); if(v > RMConfiguration.MAX_SPEED || v > speed * 1.5){ return false; } mPreviousUpdateTime = SystemClock.elapsedRealtime(); return true; }
Example #5
Source File: AmapFragment.java From BmapLite with Apache License 2.0 | 6 votes |
public void deleteRangingPoi() { if (mPoiList.size() > 1) { MyPoiModel end = mPoiList.get(mPoiList.size() - 1); MyPoiModel pre = mPoiList.get(mPoiList.size() - 2); mTotal -= AMapUtils.calculateLineDistance(new LatLng(end.getLatitude(), end.getLongitude()), new LatLng(pre.getLatitude(), pre.getLongitude())); mPoiList.remove(mPoiList.size() - 1); ((MainActivity) getActivity()).setRangingDistance(mTotal); } else if (mPoiList.size() == 1) { mPoiList.remove(mPoiList.size() - 1); mTotal = 0; ((MainActivity) getActivity()).setRangingDistance(mTotal); } if (!mRangingMarkerList.isEmpty()) { mRangingMarkerList.get(mRangingMarkerList.size() - 1).remove(); mRangingMarkerList.remove(mRangingMarkerList.size() - 1); } if (!mLineList.isEmpty()) { mLineList.get(mLineList.size() - 1).remove(); mLineList.remove(mLineList.size() - 1); } }
Example #6
Source File: AmapFragment.java From BmapLite with Apache License 2.0 | 6 votes |
public void setRangingPolyLine() { if (mPoiList.size() < 2) { mTotal = 0; ((MainActivity) getActivity()).setRangingDistance(mTotal); return; } MyPoiModel end = mPoiList.get(mPoiList.size() - 1); MyPoiModel last = mPoiList.get(mPoiList.size() - 2); mTotal += AMapUtils.calculateLineDistance(new LatLng(end.getLatitude(), end.getLongitude()), new LatLng(last.getLatitude(), last.getLongitude())); List<LatLng> points = new ArrayList<>(); points.add(new LatLng(end.getLatitude(), end.getLongitude())); points.add(new LatLng(last.getLatitude(), last.getLongitude())); Polyline ooPolyline = mAmap.addPolyline(new PolylineOptions().addAll(points).width(6).color(Color.BLUE)); if (null == mLineList) { mLineList = new ArrayList<>(); } mLineList.add(ooPolyline); ((MainActivity) getActivity()).setRangingDistance(mTotal); }
Example #7
Source File: AmapFragment.java From BmapLite with Apache License 2.0 | 6 votes |
private void makeMarker(MyPoiModel poi, boolean isClear) { if (isClear) { clearMarker(); } int distance = 0; if (null != BApp.MY_LOCATION) { distance = (int) AMapUtils.calculateLineDistance(new LatLng(BApp.MY_LOCATION.getLatitude(), BApp.MY_LOCATION.getLongitude()), new LatLng(poi.getLatitude(), poi.getLongitude())); } Marker marker = mAmap.addMarker(new MarkerOptions().position(new LatLng(poi.getLatitude(), poi.getLongitude())).title(poi.getName()).snippet(distance + "").icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding_2))); markerList.add(marker); ((MainActivity) getActivity()).showPoiLay(poi, distance); }
Example #8
Source File: AmapFragment.java From BmapLite with GNU General Public License v3.0 | 6 votes |
public void setRangingPolyLine() { if (mPoiList.size() < 2) { mTotal = 0; ((MainActivity) getActivity()).setRangingDistance(mTotal); return; } MyPoiModel end = mPoiList.get(mPoiList.size() - 1); MyPoiModel last = mPoiList.get(mPoiList.size() - 2); mTotal += AMapUtils.calculateLineDistance(new LatLng(end.getLatitude(), end.getLongitude()), new LatLng(last.getLatitude(), last.getLongitude())); List<LatLng> points = new ArrayList<>(); points.add(new LatLng(end.getLatitude(), end.getLongitude())); points.add(new LatLng(last.getLatitude(), last.getLongitude())); Polyline ooPolyline = mAmap.addPolyline(new PolylineOptions().addAll(points).width(6).color(Color.BLUE)); if (null == mLineList) { mLineList = new ArrayList<>(); } mLineList.add(ooPolyline); ((MainActivity) getActivity()).setRangingDistance(mTotal); }
Example #9
Source File: AmapFragment.java From BmapLite with GNU General Public License v3.0 | 6 votes |
private void makeMarker(MyPoiModel poi, boolean isClear) { if (isClear) { clearMarker(); } int distance = 0; if (null != BApp.MY_LOCATION) { distance = (int) AMapUtils.calculateLineDistance(new LatLng(BApp.MY_LOCATION.getLatitude(), BApp.MY_LOCATION.getLongitude()), new LatLng(poi.getLatitude(), poi.getLongitude())); } Marker marker = mAmap.addMarker(new MarkerOptions().position(new LatLng(poi.getLatitude(), poi.getLongitude())).title(poi.getName()).snippet(distance + "").icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding_2))); markerList.add(marker); ((MainActivity) getActivity()).showPoiLay(poi, distance); }
Example #10
Source File: PoiClickActivity.java From TraceByAmap with MIT License | 6 votes |
/** * Marker 点击回调 * @param marker * @return */ @Override public boolean onMarkerClick(Marker marker) { // 构造导航参数 NaviPara naviPara = new NaviPara(); // 设置终点位置 naviPara.setTargetPoint(marker.getPosition()); // 设置导航策略,这里是避免拥堵 naviPara.setNaviStyle(AMapUtils.DRIVING_AVOID_CONGESTION); try { // 调起高德地图导航 AMapUtils.openAMapNavi(naviPara, getApplicationContext()); } catch (com.amap.api.maps.AMapException e) { // 如果没安装会进入异常,调起下载页面 AMapUtils.getLatestAMapApp(getApplicationContext()); } mAMap.clear(); return false; }
Example #11
Source File: PoiKeywordSearchActivity.java From TraceByAmap with MIT License | 6 votes |
/** * 调起高德地图导航功能,如果没安装高德地图,会进入异常,可以在异常中处理,调起高德地图app的下载页面 */ public void startAMapNavi(Marker marker) { // 构造导航参数 NaviPara naviPara = new NaviPara(); // 设置终点位置 naviPara.setTargetPoint(marker.getPosition()); // 设置导航策略,这里是避免拥堵 naviPara.setNaviStyle(NaviPara.DRIVING_AVOID_CONGESTION); // 调起高德地图导航 try { AMapUtils.openAMapNavi(naviPara, getApplicationContext()); } catch (com.amap.api.maps.AMapException e) { // 如果没安装会进入异常,调起下载页面 AMapUtils.getLatestAMapApp(getApplicationContext()); } }
Example #12
Source File: GaoDeMapAiLineManager.java From FimiX8-RE with MIT License | 6 votes |
public void onAiLineAddPoint(LatLng latLng, float height, float angle) { if (isFullSize()) { X8ToastUtil.showToast(this.context, this.context.getString(R.string.x8_ai_fly_lines_point_max), 0); } else if (this.mGaodeMapLocationManager.getHomeLocation() != null) { float distance = AMapUtils.calculateLineDistance(latLng, this.mGaodeMapLocationManager.getHomeLocation()); if (10.0f > distance || distance > 1000.0f) { if (distance < 10.0f) { X8ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_follow_point_to_point_far1), new Object[]{X8NumberUtil.getDistanceNumberString(10.0f, 0, true)}), 0); } else if (distance > 1000.0f) { X8ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_follow_point_to_point_far), new Object[]{X8NumberUtil.getDistanceNumberString(1000.0f, 0, true)}), 0); } } else if (isValid(latLng)) { addPointLatLng(latLng, distance, this.mGaodeMapLocationManager.getDevLocation(), false, angle); } else { X8ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_lines_point_magin), new Object[]{X8NumberUtil.getDistanceNumberString(10.0f, 0, true)}), 0); } } }
Example #13
Source File: GaoDeMapAiLineManager.java From FimiX8-RE with MIT License | 6 votes |
public void onAiLineAddPoint(LatLng latLng) { if (isFullSize()) { X8ToastUtil.showToast(this.context, this.context.getString(R.string.x8_ai_fly_lines_point_max), 0); } else if (this.mGaodeMapLocationManager.getHomeLocation() != null) { float distance = AMapUtils.calculateLineDistance(latLng, this.mGaodeMapLocationManager.getHomeLocation()); if (10.0f > distance || distance > 1000.0f) { if (distance < 10.0f) { X8ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_follow_point_to_point_far1), new Object[]{X8NumberUtil.getDistanceNumberString(10.0f, 0, true)}), 0); } else if (distance > 1000.0f) { X8ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_follow_point_to_point_far), new Object[]{X8NumberUtil.getDistanceNumberString(1000.0f, 0, true)}), 0); } } else if (isValid(latLng)) { addPointLatLng(latLng, distance, this.mGaodeMapLocationManager.getDevLocation(), true, -1.0f); } else { X8ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_lines_point_magin), new Object[]{X8NumberUtil.getDistanceNumberString(10.0f, 0, true)}), 0); } } }
Example #14
Source File: AmapFragment.java From BmapLite with GNU General Public License v3.0 | 5 votes |
@Override public boolean onMarkerClick(Marker marker) { if (mIsModeRanging) { MyPoiModel poi = new MyPoiModel(TypeMap.TYPE_AMAP); poi.setLatitude(marker.getPosition().latitude); poi.setLongitude(marker.getPosition().longitude); mPoiList.add(poi); makeRangingMarker(poi); setRangingPolyLine(); } else { int distance = 0; if (null != BApp.MY_LOCATION) { distance = (int) AMapUtils.calculateLineDistance(new LatLng(BApp.MY_LOCATION.getLatitude(), BApp.MY_LOCATION.getLongitude()), marker.getPosition()); } if (null == clickMapPoiNow) { clickMapPoiNow = new MyPoiModel(TypeMap.TYPE_AMAP); } if (null != marker.getTitle() && !marker.getTitle().isEmpty()) { clickMapPoiNow.setTypeMap(TypeMap.TYPE_AMAP); clickMapPoiNow.setName(marker.getTitle()); clickMapPoiNow.setLongitude(marker.getPosition().longitude); clickMapPoiNow.setLatitude(marker.getPosition().latitude); mAmap.animateCamera(CameraUpdateFactory.changeLatLng(new LatLng(clickMapPoiNow.getLatitude(), clickMapPoiNow.getLongitude()))); ((MainActivity) getActivity()).showPoiLay(clickMapPoiNow, distance); } else { ((MainActivity) getActivity()).showPoiLay(BApp.MY_LOCATION, distance); } } return true; }
Example #15
Source File: GaoDeMapAiLineManager.java From FimiX8-RE with MIT License | 5 votes |
public float getAiLineDistance() { float distance = 0.0f; if (this.mMarkerList.size() == 2) { return AMapUtils.calculateLineDistance(((Marker) this.mMarkerList.get(0)).getPosition(), ((Marker) this.mMarkerList.get(1)).getPosition()); } for (int i = 0; i < this.mMarkerList.size(); i++) { if (i != 0) { distance += AMapUtils.calculateLineDistance(((Marker) this.mMarkerList.get(i - 1)).getPosition(), ((Marker) this.mMarkerList.get(i)).getPosition()); } } return distance; }
Example #16
Source File: ClusterOverlay.java From android-cluster-marker with Apache License 2.0 | 5 votes |
/** * 根据一个点获取是否可以依附的聚合点,没有则返回null * * @param latLng * @return */ private Cluster getCluster(LatLng latLng,List<Cluster>clusters) { for (Cluster cluster : clusters) { LatLng clusterCenterPoint = cluster.getCenterLatLng(); double distance = AMapUtils.calculateLineDistance(latLng, clusterCenterPoint); if (distance < mClusterDistance && mAMap.getCameraPosition().zoom < 19) { return cluster; } } return null; }
Example #17
Source File: SmoothMarker.java From SmoothMove with MIT License | 5 votes |
/** * 设置平滑移动的经纬度数组 * * @param points */ public void setPoints(List<LatLng> points) { this.points.clear(); for (LatLng latLng : points) { this.points.add(latLng); } if (points.size() > 1) { endPoint = points.get(points.size() - 1); lastEndPoint = points.get(points.size() - 2); } eachDistance.clear(); totalDistance = 0; //计算比例 for (int i = 0; i < points.size() - 1; i++) { double distance = AMapUtils.calculateLineDistance(points.get(i), points.get(i + 1)); eachDistance.add(distance); totalDistance += distance; } remainDistance = totalDistance; LatLng markerPoint = this.points.removeFirst(); if (marker != null) { marker.setPosition(markerPoint); //判断是否使用正确的图标 checkMarkerIcon(); } else { if (descriptor == null) { useDefaultDescriptor = true; } marker = mAMap.addMarker(new MarkerOptions().belowMaskLayer(true).position (markerPoint).icon(descriptor).title("").anchor(0.5f, 0.5f)); } }
Example #18
Source File: BuildPresenterImpl.java From RunMap with Apache License 2.0 | 5 votes |
private boolean isClosed(TrackPoint cur,TrackPoint cmp){ float distance = AMapUtils.calculateLineDistance(cur.getLocation(),cmp.getLocation()); if(distance < RMConfiguration.MAX_DISTANCE){ CFLog.e("Build","closed = "+distance); return true; } return false; }
Example #19
Source File: MoveTrackModel.java From RunMap with Apache License 2.0 | 5 votes |
@Override public long onNewLocation(TrackPoint trackPoint) { LatLng cur = new LatLng(trackPoint.getLatitude(), trackPoint.getLongitude()); if(mCoordinateLists.isEmpty()){ mCoordinateLists.add(trackPoint); return 0; } LatLng pre = mCoordinateLists.get(mCoordinateLists.size() - 1).getLocation(); mCoordinateLists.add(trackPoint); mDurationDistance += AMapUtils.calculateLineDistance(pre, cur); return mDurationDistance; }
Example #20
Source File: GaoDeMapAiPoint2PointManager.java From FimiX8-RE with MIT License | 5 votes |
public void onMapClickForAiP2P(LatLng latLng) { if (this.mGaodeMapLocationManager.getHomeLocation() != null) { float distance = AMapUtils.calculateLineDistance(latLng, this.mGaodeMapLocationManager.getHomeLocation()); if (10.0f <= distance && distance <= 500.0f) { addPointLatLng(latLng, distance, this.mGaodeMapLocationManager.getDevLocation()); } else if (distance < 10.0f) { ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_follow_point_to_point_far1), new Object[]{X8NumberUtil.getDistanceNumberString(10.0f, 0, true)}), 0); } else if (distance > 500.0f) { ToastUtil.showToast(this.context, String.format(this.context.getString(R.string.x8_ai_fly_follow_point_to_point_far), new Object[]{X8NumberUtil.getDistanceNumberString(500.0f, 0, true)}), 0); } } }
Example #21
Source File: AmapFragment.java From BmapLite with Apache License 2.0 | 5 votes |
@Override public boolean onMarkerClick(Marker marker) { if (mIsModeRanging) { MyPoiModel poi = new MyPoiModel(TypeMap.TYPE_AMAP); poi.setLatitude(marker.getPosition().latitude); poi.setLongitude(marker.getPosition().longitude); mPoiList.add(poi); makeRangingMarker(poi); setRangingPolyLine(); } else { int distance = 0; if (null != BApp.MY_LOCATION) { distance = (int) AMapUtils.calculateLineDistance(new LatLng(BApp.MY_LOCATION.getLatitude(), BApp.MY_LOCATION.getLongitude()), marker.getPosition()); } if (null == clickMapPoiNow) { clickMapPoiNow = new MyPoiModel(TypeMap.TYPE_AMAP); } if (null != marker.getTitle() && !marker.getTitle().isEmpty()) { clickMapPoiNow.setTypeMap(TypeMap.TYPE_AMAP); clickMapPoiNow.setName(marker.getTitle()); clickMapPoiNow.setLongitude(marker.getPosition().longitude); clickMapPoiNow.setLatitude(marker.getPosition().latitude); mAmap.animateCamera(CameraUpdateFactory.changeLatLng(new LatLng(clickMapPoiNow.getLatitude(), clickMapPoiNow.getLongitude()))); ((MainActivity) getActivity()).showPoiLay(clickMapPoiNow, distance); } else { ((MainActivity) getActivity()).showPoiLay(BApp.MY_LOCATION, distance); } } return true; }
Example #22
Source File: GaoDeMapAiLineManager.java From FimiX8-RE with MIT License | 5 votes |
public boolean isValid(LatLng latLng) { boolean ret = true; if (this.mMapPointList.size() < 1) { return 1; } for (MapPointLatLng mapPointLatLng : this.mMapPointList) { if (AMapUtils.calculateLineDistance(latLng, new LatLng(mapPointLatLng.latitude, mapPointLatLng.longitude)) <= 10.0f) { ret = false; break; } } return ret; }
Example #23
Source File: ParticleWeatherMapActivity.java From TraceByAmap with MIT License | 5 votes |
/** * 获取是哪里需要显示天气 * * @param position * @return */ private String getShowWeatherPositio(CameraPosition position) { if(position == null) { return null; } List<Marker> markers = aMap.getMapScreenMarkers(); // 去除离屏幕最近的marker Marker needShowMarker = null; float distance = 0; for (Marker marker : markers) { LatLng markerPos = marker.getPosition(); float curDistanct = AMapUtils.calculateLineDistance(markerPos, position.target); if(distance == 0) { distance = curDistanct; needShowMarker = marker; } else { if(curDistanct < distance) { needShowMarker = marker; } } } if(needShowMarker != null && needShowMarker.getObject() != null) { return (String) needShowMarker.getObject(); } return null; }
Example #24
Source File: CalculateDistanceActivity.java From TraceByAmap with MIT License | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.arc_activity); mapView = (MapView) findViewById(R.id.map); mapView.onCreate(savedInstanceState);// 此方法必须重写 init(); distance = AMapUtils.calculateLineDistance(makerA.getPosition(), makerB.getPosition()); Text.setText("长按Marker可拖动\n两点间距离为:"+distance+"m"); }
Example #25
Source File: CalculateDistanceActivity.java From TraceByAmap with MIT License | 5 votes |
/** * 在marker拖动过程中回调此方法, 这个marker的位置可以通过getPosition()方法返回。 * 这个位置可能与拖动的之前的marker位置不一样。 * marker 被拖动的marker对象。 */ @Override public void onMarkerDrag(Marker marker) { distance = AMapUtils.calculateLineDistance(makerA.getPosition(), makerB.getPosition()); Text.setText("长按Marker可拖动\n两点间距离为:"+distance+"m"); }
Example #26
Source File: CommonUtils.java From NewFastFrame with Apache License 2.0 | 4 votes |
public static String getDistance(double longitude, double latitude) { double localLongitude = UserManager.getInstance().getCurrentUser().getLocation().getLongitude(); double localLatitude = UserManager.getInstance().getCurrentUser().getLocation().getLatitude(); int distance = (int) AMapUtils.calculateLineDistance(new LatLng(localLatitude, localLongitude), new LatLng(latitude, longitude)); return distance + ""; }
Example #27
Source File: CommonUtils.java From TestChat with Apache License 2.0 | 4 votes |
public static String getDistance(double longitude, double latitude) { double localLongitude = UserManager.getInstance().getCurrentUser().getLocation().getLongitude(); double localLatitude = UserManager.getInstance().getCurrentUser().getLocation().getLatitude(); int distance = (int) AMapUtils.calculateLineDistance(new LatLng(localLatitude, localLongitude), new LatLng(latitude, longitude)); return distance + ""; }
Example #28
Source File: MapDrawer.java From RunMap with Apache License 2.0 | 4 votes |
public void drawTrackAnimation(List<LatLng> drawSource, int currentIndex, SmoothMoveMarker.MoveListener moveListener) { //寻找与起点距离最远的点 SmoothMoveMarker pre = mMarkerLists.peek(); if(pre != null){ pre.setMoveListener(null); mMarkerLists.poll(); } float maxDistance = 0; LatLng endPoint = null; for (int i = 1; i < drawSource.size(); i++) { float distance = AMapUtils.calculateLineDistance(drawSource.get(0), drawSource.get(i)); if (distance > maxDistance) { endPoint = drawSource.get(i); maxDistance = distance; } } CFLog.e("TAG", "max distance = " + maxDistance); //代表构成的一个矩形区域,由两点决定 LatLngBounds bounds = new LatLngBounds(drawSource.get(0), endPoint); float pad = GlobalApplication.getAppContext().getResources().getDisplayMetrics().scaledDensity * RMConfiguration.MAP_PADDING; mAmap.moveCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition(drawSource.get(0), 17, 0, 0))); mAmap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, (int) pad)); drawSingleMaker(drawSource.get(0), GlobalApplication.getAppContext().getString(R.string.string_start_point), -1); drawSingleMaker(drawSource.get(drawSource.size() - 1), GlobalApplication.getAppContext().getString(R.string.string_end_point), -1); if (currentIndex == 0) { drawPolyLineWithTexture(drawSource, R.mipmap.track_line_texture); } else { Random random = new Random(SystemClock.currentThreadTimeMillis()); drawPolyLine(drawSource, Color.rgb(random.nextInt(255), random.nextInt(255), random.nextInt(255))); } //按照指定的经纬度数据和时间,平滑移动 SmoothMoveMarker smoothMarker = new SmoothMoveMarker(mAmap); // 设置滑动的图标 smoothMarker.setDescriptor(BitmapDescriptorFactory.fromResource(R.mipmap.track_line_icon)); // 设置滑动的轨迹点 smoothMarker.setPoints(drawSource); // 设置滑动的总时间 smoothMarker.setTotalDuration(20); //设置监听 smoothMarker.setMoveListener(moveListener); // 开始滑动 smoothMarker.startSmoothMove(); mMarkerLists.add(smoothMarker); }
Example #29
Source File: GaoDeMapAiSurroundManager.java From FimiX8-RE with MIT License | 4 votes |
public float getSurroundRadius(double lastLogitude, double lastLatitude, double currentLogitude, double currentLatitude) { FLatLng last = GpsCorrect.Earth_To_Mars(lastLatitude, lastLogitude); FLatLng currrent = GpsCorrect.Earth_To_Mars(currentLatitude, currentLogitude); return AMapUtils.calculateLineDistance(new LatLng(last.latitude, last.longitude), new LatLng(currrent.latitude, currrent.longitude)); }