• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: 百度地图  

资源简介

详看博客:http://blog.csdn.net/u014727709/article/details/70635453#comments

资源截图

代码片段和文件信息

package com.mymap.utils;

import android.content.Context;
import android.os.Handler;
import android.os.SystemClock;

import com.baidu.mapapi.favorite.FavoriteManager;
import com.baidu.mapapi.favorite.FavoritePoiInfo;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.Polyline;
import com.baidu.mapapi.model.LatLng;
import com.mymap.practice.R;

import static com.mymap.constant.Constant.RANGE;
import static com.mymap.constant.Constant.TIME_INTERVAL;

/**
 * 百度地图工具类
 *
 */

public class BaiduMapUtils
{
    /**
     * 将地图移动到一个经纬度位置
     *
     * @param latlng
     */
    public static void moveToLatlng(BaiduMap mBaiduMap LatLng latlng float ZOOM_LEVEL)
    {
        MapStatus.Builder builder = new MapStatus.Builder();
        builder.target(latlng).zoom(ZOOM_LEVEL);
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
    }

    /**
     * 将坐标收藏到收藏夹
     *
     * @param poiName   收藏点的名
     * @param latitude  坐标
     * @param longitude
     * @return 成功返回成功,失败返回失败
     */
    public static String favoMarker(Context context String poiName double latitude double longitude)
    {
        FavoritePoiInfo info = new FavoritePoiInfo();
        info.poiName(poiName);
        LatLng pt = new LatLng(latitude longitude);
        info.pt(pt);
        if (FavoriteManager.getInstance().add(info) == 1)
        {
            return context.getString(R.string.favo_succ);
        } else
        {
            return context.getString(R.string.favo_failed);
        }
    }

    /**
     * 根据点获取图标转的角度
     */
    public static double getAngle(int startIndex Polyline mVirtureRoad)
    {
        if ((startIndex + 1) >= mVirtureRoad.getPoints().size())
        {
            throw new RuntimeException(“index out of bonds“);
        }
        LatLng startPoint = mVirtureRoad.getPoints().get(startIndex);
        LatLng endPoint = mVirtureRoad.getPoints().get(startIndex + 1);
        return getAngle(startPoint endPoint);
    }

    /**
     * 根据两点算取图标转的角度
     */
    public static double getAngle(LatLng fromPoint LatLng toPoint)
    {
        double slope = getSlope(fromPoint toPoint);
        if (slope == Double.MAX_VALUE)
        {
            if (toPoint.latitude > fromPoint.latitude)
            {
                return 0;
            } else
            {
                return 180;
            }
        }
        float deltAngle = 0;
        if ((toPoint.latitude - fromPoint.latitude) * slope < 0)
        {
            deltAngle = 180;
        }
        double radio = Math.atan(slope);
        double angle = 180 * (radio / Math.PI) + deltAngle - 90;
        return angle;
    }

    /**
     * 根据点和斜率算取截距
     */
    public static double getIntercep

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8339  2017-04-24 17:50  百度地图相关操作.txt

     文件       7567  2017-04-24 17:52  BaiduMapUtils.java

----------- ---------  ---------- -----  ----

                15906                    2


评论

共有 条评论