当前位置: 首页>>代码示例>>Java>>正文


Java Projection.fromPixels方法代码示例

本文整理汇总了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());
    }
}
 
开发者ID:k3b,项目名称:LocationMapViewer,代码行数:21,代码来源:GuestureOverlay.java

示例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;
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:17,代码来源:Polyline.java

示例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);
        }
    }
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:24,代码来源:ProjectionTest.java

示例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;
}
 
开发者ID:jeffallen,项目名称:MarshrutMe,代码行数:13,代码来源:Polygon.java

示例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;
}
 
开发者ID:jeffallen,项目名称:MarshrutMe,代码行数:15,代码来源:Polyline.java

示例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;
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:14,代码来源:Polygon.java

示例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);
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:31,代码来源:ScaleBarOverlay.java

示例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();
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:36,代码来源:ScaleBarOverlay.java

示例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();

}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:31,代码来源:MilStdCustomPaintingSurface.java

示例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();
}
 
开发者ID:Arman92,项目名称:Mapsforge-OsmDroid-GraphHopper,代码行数:6,代码来源:MyMarker.java

示例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();
}
 
开发者ID:Arman92,项目名称:Mapsforge-OsmDroid-GraphHopper,代码行数:6,代码来源:MyLocationNewOverlay.java

示例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();
}
 
开发者ID:jeffallen,项目名称:MarshrutMe,代码行数:6,代码来源:Marker.java

示例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);
}
 
开发者ID:jeffallen,项目名称:MarshrutMe,代码行数:6,代码来源:MapEventsOverlay.java

示例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);
  }
 
开发者ID:jeffallen,项目名称:MarshrutMe,代码行数:7,代码来源:MapEventsOverlay.java

示例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();
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:7,代码来源:Marker.java


注:本文中的org.osmdroid.views.Projection.fromPixels方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。