osmdroid API解读(一)

来源:互联网 发布:dijkstra 堆优化 编辑:程序博客网 时间:2024/06/05 22:56

osmdroid API解读(一)

osmdroid-android模块 org.osmdroid.api包

1、IGeoPoint

/*** 一个类似于Google Map的GeoPoint*/public interface IGeoPoint {    @Deprecated    int getLatitudeE6();    @Deprecated    int getLongitudeE6();    double getLatitude();//获取纬度    double getLongitude();//获取经度}

2、IProjection

/*** 相似于 Google Maps API Projection 接口* 被osmdroid {@link  org.osmdroid.views.Projection}类实现** @author Neil Boyd**/    public interface IProjection {    /**    * 转化{@link IGeoPoint}点为屏幕像素坐标(屏幕左上角点为原点)    * @param in 要转换的经纬度    * @param out 输出的屏幕像素坐标    */    Point toPixels(IGeoPoint in, Point out);    /**    * 将屏幕像素坐标的一点转换为经纬度坐标    */    IGeoPoint fromPixels(int x, int y);    /**    * 将以米为单位的长度转换为当前缩放等级下以像素为单位的长度,在默认的墨卡托投影下,越远离赤道,得到的像素值会越大    * @param meters 米为单位的长度    * @return 如果在赤道上测量时等于在当前缩放等级下相应距离的像素点数    *    float metersToEquatorPixels(float meters);    /**    * 获取东北角点的坐标值    */    IGeoPoint getNorthEast();    /**    * 获取西南角点的坐标值    */    IGeoPoint getSouthWest();}

3、IMapController

/*** 类似于Google Maps API MapController类的接口* 被osmdroid {@link org.osmdroid.views.MapController}实现*/public interface IMapController {    //移动    void animateTo(IGeoPoint geoPoint);    void animateTo(int x, int y);    void scrollBy(int x, int y);    //停止Animatio Panning    void stopAnimation(boolean jumpToFinish);    void stopPanning();    //设置中心点    void setCenter(IGeoPoint point);    //缩放    int setZoom(int zoomLevel);    double setZoom(final double pZoomLevel);    boolean zoomIn();    boolean zoomIn(Long animationSpeed);    boolean zoomInFixing(int xPixel, int yPixel, Long zoomAnimation);    boolean zoomInFixing(int xPixel, int yPixel);    boolean zoomOut(Long animationSpeed);    boolean zoomOut();    boolean zoomOutFixing(int xPixel, int yPixel);    boolean zoomTo(int zoomLevel);    boolean zoomTo(int zoomLevel, Long animationSpeed);    boolean zoomToFixing(int zoomLevel, int xPixel, int yPixel, Long zoomAnimationSpeed);    boolean zoomTo(double pZoomLevel, Long animationSpeed);    boolean zoomTo(final double pZoomLevel);    boolean zoomToFixing(int zoomLevel, int xPixel, int yPixel);    boolean zoomToFixing(double zoomLevel, int xPixel, int yPixel, Long zoomAnimationSpeed);    boolean zoomToFixing(final double pZoomLevel, final int pXPixel, final int pYPixel);    void zoomToSpan(int latSpanE6, int lonSpanE6);    void zoomToSpan(double latSpan, double lonSpan);}/*** 相似于Google Maps API MapView类* 被osmdroid {@link org.osmdroid.views.MapView}实现*/public interface IMapView {    IMapController getController();//控制器    IProjection getProjection();//投影    //获取状态    int getZoomLevel();    double getZoomLevelDouble();    int getMaxZoomLevel();    int getLatitudeSpan();    int getLongitudeSpan();    double getLatitudeSpanDouble();    double getLongitudeSpanDouble();    IGeoPoint getMapCenter();    //设置背景颜色    void setBackgroundColor(int color);}