/** * 指定一个固定位置。 * * @param longitude * @param latitude */ public void setFixPlace(double longitude, double latitude) { fixPlace.longitude = longitude; fixPlace.latitude = latitude; useFixPlace = true; writeCfg(); }
private void zoom(float scale) { final double domainSpan = maxXY.x - minXY.x; final double domainMidPoint = maxXY.x - domainSpan / 2.0f; final double offset = domainSpan * scale / 2.0f; minXY.x = domainMidPoint - offset; maxXY.x = domainMidPoint + offset; checkBoundaries(); }
@Override public void onReceiveLocation(BDLocation bdLocation) { // 信息没有参考性 // MMLog.autoDebug(MMLog.printObjectFields(locationClient)); if (bdLocation == null) { return; } log(bdLocation); if (!(bdLocation.getLocType() == BDLocation.TypeGpsLocation || bdLocation.getLocType() == BDLocation.TypeNetWorkLocation)) { return; } // 发送定位后的经纬度。 PointD pointDTemp = new PointD(); pointDTemp.longitude = bdLocation.getLongitude(); pointDTemp.latitude = bdLocation.getLatitude(); pointDTemp.province = bdLocation.getProvince(); pointDTemp.city = bdLocation.getCity(); pointDTemp.district = bdLocation.getDistrict(); pointDTemp.addr = bdLocation.getAddrStr(); setPointD(pointDTemp); stop(); Msg msg = new Msg(); msg.setData(pointDTemp); MsgMgr.getInstance().sendMsg(MsgType.MT_Util_Location, msg); startTime(); }
private void scroll(float pan) { final double domainSpan = maxXY.x - minXY.x; final double step = domainSpan / graph.getWidth(); final double offset = pan * step; minXY.x += offset; maxXY.x += offset; if (minXY.x < absMinX) { minXY.x = absMinX; maxXY.x -= offset; // (absMinX-minXY.x); } else if (minXY.x > maxNoError) minXY.x = maxNoError; if (maxXY.x > absMaxX) { maxXY.x = absMaxX; // (maxXY.x-absMaxX); minXY.x -= offset; // (maxXY.x-absMaxX); } else if (maxXY.x < minNoError) maxXY.x = minNoError; if (maxXY.x - minXY.x < minDif) maxXY.x = maxXY.x + (double) (minDif - (maxXY.x - minXY.x)); graph.setDomainBoundaries(minXY.x, maxXY.x, BoundaryMode.FIXED); }
private void checkBoundaries() { // Make sure the proposed domain boundaries will not cause plotting issues if (minXY.x < absMinX || ((Double) minXY.x).equals(Double.NaN)) minXY.x = absMinX; else if (minXY.x > maxNoError) minXY.x = maxNoError; if (maxXY.x > absMaxX || ((Double) maxXY.x).equals(Double.NaN)) maxXY.x = absMaxX; else if (maxXY.x < minNoError) maxXY.x = minNoError; if (maxXY.x - minXY.x < minDif) maxXY.x = maxXY.x + (double) (minDif - (maxXY.x - minXY.x)); else if (maxXY.x - minXY.x > maxDif) maxXY.x = maxXY.x + (double) (maxDif - (maxXY.x - minXY.x)); graph.setDomainBoundaries(minXY.x, maxXY.x, BoundaryMode.FIXED); }
private void readCfg() { if (pointD == null) { pointD = new PointD(); } try { pointD.longitude = Double.valueOf(ModuleMgr.getCfgMgr().getString("LM_longitude", "1000")); pointD.latitude = Double.valueOf(ModuleMgr.getCfgMgr().getString("LM_latitude", "1000")); pointD.province = ModuleMgr.getCfgMgr().getString("LM_province", ""); pointD.city = ModuleMgr.getCfgMgr().getString("LM_city", ""); pointD.district = ModuleMgr.getCfgMgr().getString("LM_district", ""); pointD.addr = ModuleMgr.getCfgMgr().getString("LM_addr", ""); useFixPlace = ModuleMgr.getCfgMgr().getBoolean("LM_Fix_use", false); fixPlace.longitude = Double.valueOf(ModuleMgr.getCfgMgr().getString("LM_Fix_latitude", "1000")); fixPlace.latitude = Double.valueOf(ModuleMgr.getCfgMgr().getString("LM_Fix_longitude", "1000")); } catch (Exception e) { MMLog.printThrowable(e); } }