本文整理汇总了Java中org.osmdroid.views.Projection.fromPixels方法的典型用法代码示例。如果您正苦于以下问题:Java Projection.fromPixels方法的具体用法?Java Projection.fromPixels怎么用?Java Projection.fromPixels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.osmdroid.views.Projection
的用法示例。
在下文中一共展示了Projection.fromPixels方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: zoom
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
private void zoom(MapView mapView, boolean ddragMode) {
if (isDebugEnabled()) debug("zoom",this);
// mapView.setC .zoomToBoundingBox(rect);
final Projection projection = mapView.getProjection();
IMapController controller = mapView.getController();
if (ddragMode) {
IGeoPoint start = projection.fromPixels(this.mStart.x, this.mStart.y);
IGeoPoint end = projection.fromPixels(this.mEnd.x, this.mEnd.y);
ZoomUtil.zoomTo(mapView, ZoomUtil.NO_ZOOM, start, end);
if (isDebugEnabled()) debug("zoom(ddrag mode)", start, "..", end,
"=>", mapView.getMapCenter(), "z=", mapView.getZoomLevel());
} else {
IGeoPoint center = projection.fromPixels(this.mStart.x, this.mStart.y);
controller.setCenter(center);
controller.zoomIn();
if (isDebugEnabled()) debug("zoom(to center of)", center,
"=>", mapView.getMapCenter(), "z=", mapView.getZoomLevel());
}
}
示例2: onSingleTapConfirmed
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
@Override
public boolean onSingleTapConfirmed(final MotionEvent event, final MapView mapView) {
final Projection pj = mapView.getProjection();
GeoPoint eventPos = (GeoPoint) pj.fromPixels((int) event.getX(), (int) event.getY());
double tolerance = mPaint.getStrokeWidth() * density;
boolean touched = isCloseTo(eventPos, tolerance, mapView);
if (touched) {
//eventPos = this.getInfoWindowAnchorPoint(eventPos);
if (mOnClickListener == null) {
return onClickDefault(this, mapView, eventPos);
} else {
return mOnClickListener.onClick(this, mapView, eventPos);
}
} else
return touched;
}
示例3: testOffspringSameCenter
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
/**
* "The geo center of an offspring matches the geo center of the parent"
*/
@Test
public void testOffspringSameCenter() {
final GeoPoint center = new GeoPoint(0., 0);
final Point pixel = new Point();
final int centerX = (mScreenRect.right + mScreenRect.left) / 2;
final int centerY = (mScreenRect.bottom + mScreenRect.top) / 2;
final int miniCenterX = (mMiniMapScreenRect.right + mMiniMapScreenRect.left) / 2;
final int miniCenterY = (mMiniMapScreenRect.bottom + mMiniMapScreenRect.top) / 2;
for (int zoomLevel = mMinZoomLevel + mMinimapZoomLevelDifference; zoomLevel <= mMaxZoomLevel; zoomLevel ++) {
for (int i = 0; i < mNbIterations; i ++) {
final Projection projection = getRandomProjection(zoomLevel);
final Projection miniMapProjection = projection.getOffspring(zoomLevel - mMinimapZoomLevelDifference, mMiniMapScreenRect);
projection.fromPixels(centerX, centerY, center);
miniMapProjection.toPixels(center, pixel);
Assert.assertEquals(miniCenterX, pixel.x, mDeltaPixel);
Assert.assertEquals(miniCenterY, pixel.y, mDeltaPixel);
}
}
}
示例4: onSingleTapConfirmed
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
@Override public boolean onSingleTapConfirmed(final MotionEvent event, final MapView mapView){
if (mInfoWindow == null)
//no support for tap:
return false;
boolean tapped = contains(event);
if (tapped){
Projection pj = mapView.getProjection();
GeoPoint position = (GeoPoint)pj.fromPixels((int)event.getX(), (int)event.getY());
mInfoWindow.open(this, position, 0, 0);
}
return tapped;
}
示例5: onSingleTapConfirmed
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
@Override public boolean onSingleTapConfirmed(final MotionEvent event, final MapView mapView){
final Projection pj = mapView.getProjection();
GeoPoint eventPos = (GeoPoint) pj.fromPixels((int)event.getX(), (int)event.getY());
double tolerance = mPaint.getStrokeWidth();
boolean touched = isCloseTo(eventPos, tolerance, mapView);
if (touched){
if (mOnClickListener == null){
return onClickDefault(this, mapView, eventPos);
} else {
return mOnClickListener.onClick(this, mapView, eventPos);
}
} else
return touched;
}
示例6: onSingleTapConfirmed
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
@Override public boolean onSingleTapConfirmed(final MotionEvent event, final MapView mapView){
if (mInfoWindow == null)
//no support for tap:
return false;
boolean tapped = contains(event);
if (tapped){
Projection pj = mapView.getProjection();
GeoPoint position = (GeoPoint)pj.fromPixels((int)event.getX(), (int)event.getY());
//position = getInfoWindowAnchorPoint(position);
showInfoWindow(position);
}
return tapped;
}
示例7: drawLatitudeText
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
private void drawLatitudeText(final Canvas canvas, final Projection projection) {
// calculate dots per centimeter
int xdpcm = (int) ((float) xdpi / 2.54);
// get length in pixel
int xLen = (int) (maxLength * xdpcm);
// Two points, xLen apart, at scale bar screen location
IGeoPoint p1 = projection.fromPixels((screenWidth / 2) - (xLen / 2), yOffset, null);
IGeoPoint p2 = projection.fromPixels((screenWidth / 2) + (xLen / 2), yOffset, null);
// get distance in meters between points
final double xMeters = ((GeoPoint) p1).distanceToAsDouble(p2);
// get adjusted distance, shortened to the next lower number starting with 1, 2 or 5
final double xMetersAdjusted = this.adjustLength ? adjustScaleBarLength(xMeters) : xMeters;
// get adjusted length in pixels
final int xBarLengthPixels = (int) (xLen * xMetersAdjusted / xMeters);
// create text
final String xMsg = scaleBarLengthText(xMetersAdjusted);
textPaint.getTextBounds(xMsg, 0, xMsg.length(), sTextBoundsRect);
final int xTextSpacing = (int) (sTextBoundsRect.height() / 5.0);
float x = xBarLengthPixels / 2 - sTextBoundsRect.width() / 2;
if (alignRight) x+= screenWidth -xBarLengthPixels;
float y;
if (alignBottom) { y = screenHeight -xTextSpacing*2; }
else y = sTextBoundsRect.height() + xTextSpacing;
canvas.drawText(xMsg, x, y, textPaint);
}
示例8: drawLongitudeText
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
private void drawLongitudeText(final Canvas canvas, final Projection projection) {
// calculate dots per centimeter
int ydpcm = (int) ((float) ydpi / 2.54);
// get length in pixel
int yLen = (int) (maxLength * ydpcm);
// Two points, yLen apart, at scale bar screen location
IGeoPoint p1 = projection
.fromPixels(screenWidth / 2, (screenHeight / 2) - (yLen / 2), null);
IGeoPoint p2 = projection
.fromPixels(screenWidth / 2, (screenHeight / 2) + (yLen / 2), null);
// get distance in meters between points
final double yMeters = ((GeoPoint) p1).distanceToAsDouble(p2);
// get adjusted distance, shortened to the next lower number starting with 1, 2 or 5
final double yMetersAdjusted = this.adjustLength ? adjustScaleBarLength(yMeters) : yMeters;
// get adjusted length in pixels
final int yBarLengthPixels = (int) (yLen * yMetersAdjusted / yMeters);
// create text
final String yMsg = scaleBarLengthText(yMetersAdjusted);
textPaint.getTextBounds(yMsg, 0, yMsg.length(), sTextBoundsRect);
final int yTextSpacing = (int) (sTextBoundsRect.height() / 5.0);
float x;
if (alignRight) {x = screenWidth -yTextSpacing*2;}
else x = sTextBoundsRect.height() + yTextSpacing;
float y = yBarLengthPixels / 2 + sTextBoundsRect.width() / 2;
if (alignBottom) y+= screenHeight -yBarLengthPixels;
canvas.save();
canvas.rotate(-90, x, y);
canvas.drawText(yMsg, x, y, textPaint);
canvas.restore();
}
示例9: touch_up
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
private void touch_up() {
mPath.lineTo(mX, mY);
// commit the path to our offscreen
mCanvas.drawPath(mPath, mPaint);
// kill this so we don't double draw
mPath.reset();
if (map != null) {
Projection projection = map.getProjection();
if (symbol != null && symbol.getMinPoints() <= pts.size()) {
ArrayList<GeoPoint> inputGeoPoints = new ArrayList<>();
final Point unrotatedPoint = new Point();
for (int i = 0; i < pts.size(); i++) {
projection.unrotateAndScalePoint(pts.get(i).x, pts.get(i).y, unrotatedPoint);
GeoPoint iGeoPoint = (GeoPoint) projection.fromPixels(unrotatedPoint.x, unrotatedPoint.y);
inputGeoPoints.add(iGeoPoint);
}
MilStdMultipointOverlay overlay = new MilStdMultipointOverlay(symbol, inputGeoPoints);
map.getOverlayManager().add(overlay);
map.invalidate();
}
}
pts.clear();
}
示例10: moveToEventPosition
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
public void moveToEventPosition(MotionEvent event, MapView mapView) {
Projection pj = mapView.getProjection();
this.mPosition = (GeoPoint)pj.fromPixels((int)event.getX(), (int)event.getY());
mapView.invalidate();
}
示例11: moveToEventPosition
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
public void moveToEventPosition(final MotionEvent event, final MapView mapView){
final Projection pj = mapView.getProjection();
mPosition = (GeoPoint) pj.fromPixels((int)event.getX(), (int)event.getY());
mapView.invalidate();
}
示例12: moveToEventPosition
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
public void moveToEventPosition(final MotionEvent event, final MapView mapView){
final Projection pj = mapView.getProjection();
mPosition = (GeoPoint) pj.fromPixels((int)event.getX(), (int)event.getY());
mapView.invalidate();
}
示例13: onSingleTapConfirmed
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
@Override public boolean onSingleTapConfirmed(MotionEvent e, MapView mapView){
Projection proj = mapView.getProjection();
GeoPoint p = (GeoPoint)proj.fromPixels((int)e.getX(), (int)e.getY());
return mReceiver.singleTapConfirmedHelper(p);
}
示例14: onLongPress
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
@Override public boolean onLongPress(MotionEvent e, MapView mapView) {
Projection proj = mapView.getProjection();
GeoPoint p = (GeoPoint)proj.fromPixels((int)e.getX(), (int)e.getY());
//throw event to the receiver:
return mReceiver.longPressHelper(p);
}
示例15: moveToEventPosition
import org.osmdroid.views.Projection; //导入方法依赖的package包/类
public void moveToEventPosition(final MotionEvent event, final MapView mapView){
float offsetY = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, mDragOffsetY, mapView.getContext().getResources().getDisplayMetrics());
final Projection pj = mapView.getProjection();
mPosition = (GeoPoint) pj.fromPixels((int)event.getX(), (int)(event.getY()-offsetY));
mapView.invalidate();
}