精华内容
下载资源
问答
  • BmapBmap,简单的双地图应用。可任意切换/高德地图数据源,致力满足日常生活的出行需求。具有步行、公交、骑行、驾驶等出行方案,查看街景。新版特性1.升级百度地图sdk6.0.02.升级高德地图sdk6.9.43.升级讯飞语音sdk...

    Bmap

    Bmap,简单的双地图应用。可任意切换/高德地图数据源,致力满足日常生活的出行需求。具有步行、公交、骑行、驾驶等出行方案,查看街景。

    617b51f3034089ab8ad4317ba27f60bc.png

    新版特性

    1.升级百度地图sdk6.0.0
    2.升级高德地图sdk6.9.4
    3.升级讯飞语音sdk1138
    4.支持qq登录
    5.新增常州,徐州地铁图
    6.新增网页地图OpenStreetMap
    7.新增导航栏跟随主题色(设置中可开关)
    8.收藏点⭐️可隐藏
    9.算路历史、我的收藏界面新增家、公司快捷入口
    10.点击定位箭头蓝点 详情 可查看位置信息
    11.尝试适配Android Q ?
    12.优化细节及部分已知bug

    ——gfuil

    使用

    帮助

    地图缩放

    双指缩放手势、单/双指双击、点击放大(+)/缩小(-)按钮,即可缩放地图视图。

    地图俯视(3D)

    使用双指 向下或向上滑动或选择左边侧滑菜单项切换到俯视图(3D)效果。

    卫星地图

    可在左边侧滑菜单切换卫星/普通地图。

    实时路况

    默认为开启状态,开启可在左边侧滑菜单或设置中关闭。

    77805d731bf44fc659312ae8b8a18586.png

    指南针

    当地图发生旋转和视角变化时,默认出现在左上角的指南针。再次点击恢复原样。

    定位

    在网络通畅时点击左下角的定位按钮便能获取到您当前所在位置,透明精度圈表示存在该范围内的误差。高德离线定位不太灵敏,可能得等待几分钟。

    再次点击定位按钮将切换到罗盘模式,此时,地图进入俯视/3D模式,定位点总是处于屏幕中央(无法拖动),且随着位置变化而变化。

    若出现方向不准的的情况,可将手机按倒8旋转数次以校准方向。

    街景

    点击标记在地图上的标注,选择“街景”,不一定每个地方都有,没有街景的地方将是空白页。

    收藏夹

    可收藏地图中任意POI点,同一地点(名称)不可收藏多次,收藏夹只进行本地存储,不与百度\高德同步。

    路线规划

    支持步行、公交(支持跨城)、骑行、驾驶路线规划。测试一下,基本与百度和高德规划一致。

    6b9cf5bf4e264fb1606c58fef272f0b7.png

    地铁线路图

    安装后测试了一下,点击地铁后,立即显示出离我最近的地铁站(坐标上海松江)。

    其它地区没有测试,感兴趣的伙伴可以测试一下。

    da80e4ce0e18a19be318a7160d486d29.png

    实时公交

    点击实时公交,显示我所在位置附近所有的公交线路,还是比较不错。

    bf74a881858da7c462e58a378d45711d.png

    导航

    仅支持使用高德导航,百度导航SDK过大不集成,必须开启GPS,不能离线导航(可先计算路径后断开网络)。可在出行方式中选择,实现当前位置导航到目的地;如在地图首页选中有一点进行导航,默认小于两公里使用步行导航,大于两公里使用驾驶导航。可在导航设置中进行偏好设置。

    语音

    默认开启百度离在线融合语音,如果未下载离线语音包时将使用在线语音,讯飞在线语音,如需要请到设置中配置,若手机自带文字转语音TTS(中文)服务,可选择此项,并且在手机管家中配置允许该应用启动/唤醒/调用TTS程序且TTS程序能自启/被唤醒才会生效;如果手机并没有自带TTS(中文)服务,可选择讯飞在线语音合成,不过需要网络支持。推荐使用系统自带的TTS,讯飞每天只有20000次的限额,大家一起用,一般到了差不多晚上就被用完了,到时候就播报不出语音来了。使用系统自带TTS则不受限制,在线语音受网络影响,可能有延迟情况。

    离线地图

    在【全部】中,单击城市列表中的离线包下载离线包存储目录:

    存储空间/Android/data/me.gfuil.bmap/files/;

    若出现无法下载情况,可能是下载过程中出错了,需要删掉再下载。再下载过程中请不要退出app,且保证不被管家类应用杀死。

    在【已下载基础包】中可查看已下载的基础地图离线包,点击可删除;

    在【已下载高德包】中可查看已下载的高德地图离线包,点击可删除。即使下载了离线地图在无网络状态下也不能搜索地点、出行路线或导航,只支持地图的显示。

    三方APP调用地图说明

    一些APP可直接被调起,微信QQ可利用其街景,再从菜单里选择“使用浏览器打开”,选择Bmap即可,或是在工具箱中下在伪装百度或高德地图的插件,当然不建议这么做。

    调起Bmap协议

    通过geo-uri方式,坐标为国测局坐标系(GCJ02)

    geo:latitude,longitude?q=place_name

    调用示例:

    Uri uri = Uri.parse("geo:39.903740,116.397827?q=天安门广场");

    Intent intent = new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);

    下载方式

    1.在酷安市场直接搜索安装;

    2.点击“阅读原文”进入官网下载安装。

    5c01cf1943116e4a78057ea0800ebb41.gif

    展开全文
  • 需求:根据经纬度绘制标记点,点击标记点弹出弹框和底部按钮,点击顶部弹框进入二级界面,点击底部按钮弹出第三方地图软件选择页,实现跨进程跳转。 项目是公司项目,只放出重要部分代码。 绘制标记点: final ...

    需求:根据经纬度绘制标记点,点击标记点弹出弹框和底部按钮,点击顶部弹框进入二级界面,点击底部按钮弹出第三方地图软件选择页,实现跨进程跳转。

    效果图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    项目是公司项目,只放出重要部分代码。

    
    					final Marker marker1 = aMap.addMarker(new MarkerOptions()
                        .position(latLng2)
                        .title("地址标题111111")
                        .snippet("地址内容1111"));
                final Marker marker2 = aMap.addMarker(new MarkerOptions()
                        .position(latLng3)
                        .title("地址标题22222")
                        .snippet("地址内容2222"));
    

    绘制标记点

     //标记点击事件
                AMap.OnMarkerClickListener markerClickListener = new AMap.OnMarkerClickListener() {
                    @Override
                    public boolean onMarkerClick(Marker marker) {
                        position = marker.getPosition();
                        title = marker.getTitle();
                        marker.showInfoWindow();
                        nav.setVisibility(View.VISIBLE);
                        //导航按钮点击
                        nav.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                showAnimation();
                            }
                        });
                        return true;
                    }
                };
    

    点击标记后获取到当前标记的经纬度和名称,显示底部按钮,点击按钮弹出第三方地图选择页。

    //标记上部弹框点击
                AMap.OnInfoWindowClickListener listener = new AMap.OnInfoWindowClickListener() {
                    @Override
                    public void onInfoWindowClick(Marker arg0) {
                            Toast.makeText(FangchanMapActivity.this, "点击了弹框1", Toast.LENGTH_SHORT).show();
                    }
                };
    

    点击标记顶部弹框进入二级界面,需要什么值就取什么值,后台还在出接口,我这边没有做操作

    //地图点击
                AMap.OnMapClickListener mapClickListener = new AMap.OnMapClickListener() {
                    @Override
                    public void onMapClick(LatLng latLng) {
                        marker1.hideInfoWindow();
                        marker2.hideInfoWindow();
                        nav.setVisibility(View.GONE);
                    }
                };
    

    这里只做了显示隐藏的操作

    			//设置图标
    			marker1.setIcon(BitmapDescriptorFactory.fromResource(R.mipmap.marker_icon));
    			//绑定点击事件
                aMap.setOnInfoWindowClickListener(listener);
                aMap.setOnMapClickListener(mapClickListener);
                aMap.setOnMarkerClickListener(markerClickListener);
    

    千万千万千万记得绑定点击事件在这里插入图片描述

    private void showAnimation() {
            LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View vPopupWindow = inflater.inflate(R.layout.layout_popupwindow, null, false);//引入弹窗布局
            popupWindow = new PopupWindow(vPopupWindow, ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT, true);
            TextView gaode = vPopupWindow.findViewById(R.id.gaode);
            TextView baidu = vPopupWindow.findViewById(R.id.baidu);
            TextView tengxun = vPopupWindow.findViewById(R.id.tengxun);
            TextView clean_text = vPopupWindow.findViewById(R.id.clean_text);
            gaode.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (MapUtil.isGdMapInstalled()) {
                        MapUtil.openGaoDeNavi(FangchanMapActivity.this, 0, 0, null, position.latitude, position.longitude, title);
                    } else {
                        //这里必须要写逻辑,不然如果手机没安装该应用,程序会闪退,这里可以实现下载安装该地图应用
                        Toast.makeText(FangchanMapActivity.this, "尚未安装高德地图", Toast.LENGTH_SHORT).show();
                    }
                }
            });
            baidu.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (MapUtil.isBaiduMapInstalled()){
                        MapUtil.openBaiDuNavi(FangchanMapActivity.this, 0, 0, null, position.latitude, position.longitude, title);
                    } else {
                        Toast.makeText(FangchanMapActivity.this, "尚未安装百度地图", Toast.LENGTH_SHORT).show();
                    }
    
                }
            });
            tengxun.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (MapUtil.isTencentMapInstalled()){
                        MapUtil.openTencentMap(FangchanMapActivity.this, 0, 0, null, position.latitude, position.longitude, title);
                    } else {
                        Toast.makeText(FangchanMapActivity.this, "尚未安装腾讯地图", Toast.LENGTH_SHORT).show();
                    }
                }
            });
            clean_text.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    popupWindow.dismiss();
                }
            });
            //设置背景透明
            addBackground();
            //设置进出动画
            popupWindow.setAnimationStyle(R.style.PopupWindowAnimation);
            //引入依附的布局
            View parentView = LayoutInflater.from(FangchanMapActivity.this).inflate(R.layout.layout_popupwindow, null);
            //相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
            popupWindow.showAtLocation(parentView, Gravity.BOTTOM, 0, 0);
        }
        private void addBackground() {
            // 设置背景颜色变暗
            WindowManager.LayoutParams lp = getWindow().getAttributes();
            lp.alpha = 0.7f;//调节透明度
            getWindow().setAttributes(lp);
            //dismiss时恢复原样
            popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
    
                @Override
                public void onDismiss() {
                    WindowManager.LayoutParams lp = getWindow().getAttributes();
                    lp.alpha = 1f;
                    getWindow().setAttributes(lp);
                }
            });
        }
    

    底部弹框,popupwindow实现

    
    public class MapUtil {
    
        public static final String PN_GAODE_MAP = "com.autonavi.minimap";// 高德地图包名
        public static final String PN_BAIDU_MAP = "com.baidu.BaiduMap"; // 百度地图包名
        public static final String PN_TENCENT_MAP = "com.tencent.map"; // 腾讯地图包名
    
        /**
         * 检查地图应用是否安装
         * @return
         */
        public static boolean isGdMapInstalled(){
            return isInstallPackage(PN_GAODE_MAP);
        }
    
        public static boolean isBaiduMapInstalled(){
            return isInstallPackage(PN_BAIDU_MAP);
        }
    
        public static boolean isTencentMapInstalled(){
            return isInstallPackage(PN_TENCENT_MAP);
        }
    
        private static boolean isInstallPackage(String packageName) {
            return new File("/data/data/" + packageName).exists();
        }
    
        /**
         * 百度转高德
         * @param bd_lat
         * @param bd_lon
         * @return
         */
        public static double[] bdToGaoDe(double bd_lat, double bd_lon) {
            double[] gd_lat_lon = new double[2];
            double PI = 3.14159265358979324 * 3000.0 / 180.0;
            double x = bd_lon - 0.0065, y = bd_lat - 0.006;
            double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * PI);
            double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * PI);
            gd_lat_lon[0] = z * Math.cos(theta);
            gd_lat_lon[1] = z * Math.sin(theta);
            return gd_lat_lon;
        }
    
        /**
         * 高德、腾讯转百度
         * @param gd_lon
         * @param gd_lat
         * @return
         */
        private static double[] gaoDeToBaidu(double gd_lon, double gd_lat) {
            double[] bd_lat_lon = new double[2];
            double PI = 3.14159265358979324 * 3000.0 / 180.0;
            double x = gd_lon, y = gd_lat;
            double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * PI);
            double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * PI);
            bd_lat_lon[0] = z * Math.cos(theta) + 0.0065;
            bd_lat_lon[1] = z * Math.sin(theta) + 0.006;
            return bd_lat_lon;
        }
    
    
    
        /**
         * 打开高德地图导航功能
         * @param context
         * @param slat 起点纬度
         * @param slon 起点经度
         * @param sname 起点名称 可不填(0,0,null)
         * @param dlat 终点纬度
         * @param dlon 终点经度
         * @param dname 终点名称 必填
         */
        public static void openGaoDeNavi(Context context,double slat, double slon, String sname, double dlat, double dlon, String dname){
            String uriString = null;
            StringBuilder builder = new StringBuilder("amapuri://route/plan?sourceApplication=maxuslife");
            if (slat != 0) {
                builder.append("&sname=").append(sname)
                        .append("&slat=").append(slat)
                        .append("&slon=").append(slon);
            }
            builder.append("&dlat=").append(dlat)
                    .append("&dlon=").append(dlon)
                    .append("&dname=").append(dname)
                    .append("&dev=0")
                    .append("&t=0");
            uriString = builder.toString();
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setPackage(PN_GAODE_MAP);
            intent.setData(Uri.parse(uriString));
            context.startActivity(intent);
        }
    
        /**
         * 打开腾讯地图
         * params 参考http://lbs.qq.com/uri_v1/guide-route.html
         *
         * @param context
         * @param slat 起点纬度
         * @param slon 起点经度
         * @param sname 起点名称 可不填(0,0,null)
         * @param dlat 终点纬度
         * @param dlon 终点经度
         * @param dname 终点名称 必填
         * 驾车:type=drive,policy有以下取值
        0:较快捷
        1:无高速
        2:距离
        policy的取值缺省为0
         * &from=" + dqAddress + "&fromcoord=" + dqLatitude + "," + dqLongitude + "
         */
        public static void openTencentMap(Context context, double slat, double slon, String sname, double dlat, double dlon, String dname) {
            String uriString = null;
            StringBuilder builder = new StringBuilder("qqmap://map/routeplan?type=drive&policy=0&referer=zhongshuo");
            if (slat != 0) {
                builder.append("&from=").append(sname)
                        .append("&fromcoord=").append(slat)
                        .append(",")
                        .append(slon);
            }
            builder.append("&to=").append(dname)
                    .append("&tocoord=").append(dlat)
                    .append(",")
                    .append(dlon);
            uriString = builder.toString();
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setPackage(PN_TENCENT_MAP);
            intent.setData(Uri.parse(uriString));
            context.startActivity(intent);
        }
    
        /**
         * 打开百度地图导航功能(默认坐标点是高德地图,需要转换)
         * @param context
         * @param slat 起点纬度
         * @param slon 起点经度
         * @param sname 起点名称 可不填(0,0,null)
         * @param dlat 终点纬度
         * @param dlon 终点经度
         * @param dname 终点名称 必填
         */
        public static void openBaiDuNavi(Context context,double slat, double slon, String sname, double dlat, double dlon, String dname){
            String uriString = null;
            //终点坐标转换
    //        此方法需要百度地图的BaiduLBS_Android.jar包
    //        LatLng destination = new LatLng(dlat,dlon);
    //        LatLng destinationLatLng = GCJ02ToBD09(destination);
    //        dlat = destinationLatLng.latitude;
    //        dlon = destinationLatLng.longitude;
    
            double destination[] = gaoDeToBaidu(dlat, dlon);
            dlat = destination[0];
            dlon = destination[1];
    
            StringBuilder builder = new StringBuilder("baidumap://map/direction?mode=driving&");
            if (slat != 0){
                //起点坐标转换
    
    //            LatLng origin = new LatLng(slat,slon);
    //            LatLng originLatLng = GCJ02ToBD09(origin);
    //            slat = originLatLng.latitude;
    //            slon = originLatLng.longitude;
    
                double[] origin = gaoDeToBaidu(slat, slon);
                slat = origin[0];
                slon = origin[1];
    
                builder.append("origin=latlng:")
                        .append(slat)
                        .append(",")
                        .append(slon)
                        .append("|name:")
                        .append(sname);
            }
            builder.append("&destination=latlng:")
                    .append(dlat)
                    .append(",")
                    .append(dlon)
                    .append("|name:")
                    .append(dname);
            uriString = builder.toString();
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setPackage(PN_BAIDU_MAP);
            intent.setData(Uri.parse(uriString));
            context.startActivity(intent);
        }
    }
    

    跳转第三方地图软件的工具类,参考这位老哥写的MapUtil

    结束!芜湖~

    展开全文
  • 最近闲的没事干,发现滴滴出行的app地图上的小汽车可以跑,很炫是不是,我们公司也是做车辆监控的app的,我就一直揣摩着怎么也让我们的小汽车在地图上跑来跑去啊,这样给人感觉好点,废话不说了,先看下滴滴出行的...

    最近闲的没事干,发现滴滴出行的app,地图上的小汽车可以跑,很炫是不是,我们公司也是做车辆监控的app的,我就一直揣摩着怎么也让我们的小汽车在地图上跑来跑去啊,这样给人感觉好点,废话不说了,先看下滴滴出行的界面;
    这里写图片描述

    1.我们的gps数据是车辆10秒上报一次位置数据;前端请求数据获取当前最新的gps位置;
    2.第一次请求到数据后我把所有的车辆先标记到地图上,高德地图有标记方法;
    3.标记到地图上以后,需要把marker存放到list记录下来(为了更新移动使用);
    4.当再次请求道新的gps数据的时候,我们需要平滑的移动到最新的位置,关键问题是再这里;怎么样在才能平滑移动呢,无非就是需要不断的移动从当前位置到最新的位置,这里就当时从A点移动到B点,无非就是marker.setPosition(),不断的调用知道B点,

    List<Marker> markersMap = new ArrayList(Marker);//存放地图上标记marker
    private void addMarkToMap(List<MarkerCarOptions> markerCarOptions){
    
                if(markersMap.size()!=0){
                //markersMap不为空,说明是更新marker
                for (Marker marker : markersMap) {
                    for (MarkerCarOptions options : markerCarOptions) {
                        if(marker.getObject().equals(options.car.getBusid())){
                            moverCar(marker, options);
                            break;
                        }
                    }
                }
    }
        /**
         * 更新地图车辆位置
         * @param markerCarOptions
         */
    private void moverCar(final Marker marker,final MarkerCarOptions options){
    
            //1,获取到起点到终点的点,默认绘制4个点,最后一个为终点
            final List<LatLng> roads = new ArrayList<LatLng>();
            LatLng startLatLng = marker.getPosition();//小车当前位置
            LatLng endLatLng = options.markerOptions.getPosition();//终点位置
    
            LatLng latLng_2 = new LatLng((startLatLng.latitude+endLatLng.latitude)/2, (startLatLng.longitude+endLatLng.longitude)/2);
            LatLng latLng_1 = new LatLng((startLatLng.latitude+latLng_2.latitude)/2, (startLatLng.longitude+latLng_2.longitude)/2);
            LatLng latLng_3 = new LatLng((latLng_2.latitude+endLatLng.latitude)/2, (latLng_2.longitude+endLatLng.longitude)/2);
    
            roads.add(latLng_1);
            roads.add(latLng_2);
            roads.add(latLng_3);
            roads.add(endLatLng);
            Thread t =new Thread(new Runnable() {
    
                @Override
                public void run() {
                    // TODO Auto-generated method stub
    
                    try {
    
                        for (int i = 0; i < roads.size(); i++) {
                            marker.setPosition(roads.get(i));
                            Thread.sleep(200);
                        }
                        marker.setIcon(options.markerOptions.getIcon());
    
                    } catch (Exception e) {
                        // TODO: handle exception
                        e.printStackTrace();
                    }
                }
            });
            t.start();
        }

    5,最后需要说明的是,大家问平均获取的中间点这样获取到底对不对,我告诉你确切的说是不准确的,但是在10秒每次上报的数据之间来这样算是没错的;具体大家可以测下下就知道了,稍后再上了例子好了

    展开全文
  • BmapBmap,简单的双地图应用。可任意切换/高德地图数据源,致力满足日常生活的出行需求。具有步行、公交、骑行、驾驶等出行方案,查看街景。新版特性1.升级百度地图sdk6.0.02.升级高德地图sdk6.9.43.升级讯飞语音sdk...

    Bmap

    Bmap,简单的双地图应用。可任意切换/高德地图数据源,致力满足日常生活的出行需求。具有步行、公交、骑行、驾驶等出行方案,查看街景。

    d7411c24-4c11-eb11-8da9-e4434bdf6706.jpeg

    新版特性

    1.升级百度地图sdk6.0.0
    2.升级高德地图sdk6.9.4
    3.升级讯飞语音sdk1138
    4.支持qq登录
    5.新增常州,徐州地铁图
    6.新增网页地图OpenStreetMap
    7.新增导航栏跟随主题色(设置中可开关)
    8.收藏点⭐️可隐藏
    9.算路历史、我的收藏界面新增家、公司快捷入口
    10.点击定位箭头蓝点 详情 可查看位置信息
    11.尝试适配Android Q ?
    12.优化细节及部分已知bug

    ——gfuil

    使用

    帮助

    地图缩放

    双指缩放手势、单/双指双击、点击放大(+)/缩小(-)按钮,即可缩放地图视图。

    地图俯视(3D)

    使用双指 向下或向上滑动或选择左边侧滑菜单项切换到俯视图(3D)效果。

    卫星地图

    可在左边侧滑菜单切换卫星/普通地图。

    实时路况

    默认为开启状态,开启可在左边侧滑菜单或设置中关闭。

    d9411c24-4c11-eb11-8da9-e4434bdf6706.jpeg

    指南针

    当地图发生旋转和视角变化时,默认出现在左上角的指南针。再次点击恢复原样。

    定位

    在网络通畅时点击左下角的定位按钮便能获取到您当前所在位置,透明精度圈表示存在该范围内的误差。高德离线定位不太灵敏,可能得等待几分钟。

    再次点击定位按钮将切换到罗盘模式,此时,地图进入俯视/3D模式,定位点总是处于屏幕中央(无法拖动),且随着位置变化而变化。

    若出现方向不准的的情况,可将手机按倒8旋转数次以校准方向。

    街景

    点击标记在地图上的标注,选择“街景”,不一定每个地方都有,没有街景的地方将是空白页。

    收藏夹

    可收藏地图中任意POI点,同一地点(名称)不可收藏多次,收藏夹只进行本地存储,不与百度\高德同步。

    路线规划

    支持步行、公交(支持跨城)、骑行、驾驶路线规划。测试一下,基本与百度和高德规划一致。

    dd411c24-4c11-eb11-8da9-e4434bdf6706.jpeg

    地铁线路图

    安装后测试了一下,点击地铁后,立即显示出离我最近的地铁站(坐标上海松江)。

    其它地区没有测试,感兴趣的伙伴可以测试一下。

    de411c24-4c11-eb11-8da9-e4434bdf6706.jpeg

    实时公交

    点击实时公交,显示我所在位置附近所有的公交线路,还是比较不错。

    df411c24-4c11-eb11-8da9-e4434bdf6706.jpeg

    导航

    仅支持使用高德导航,百度导航SDK过大不集成,必须开启GPS,不能离线导航(可先计算路径后断开网络)。可在出行方式中选择,实现当前位置导航到目的地;如在地图首页选中有一点进行导航,默认小于两公里使用步行导航,大于两公里使用驾驶导航。可在导航设置中进行偏好设置。

    语音

    默认开启百度离在线融合语音,如果未下载离线语音包时将使用在线语音,讯飞在线语音,如需要请到设置中配置,若手机自带文字转语音TTS(中文)服务,可选择此项,并且在手机管家中配置允许该应用启动/唤醒/调用TTS程序且TTS程序能自启/被唤醒才会生效;如果手机并没有自带TTS(中文)服务,可选择讯飞在线语音合成,不过需要网络支持。推荐使用系统自带的TTS,讯飞每天只有20000次的限额,大家一起用,一般到了差不多晚上就被用完了,到时候就播报不出语音来了。使用系统自带TTS则不受限制,在线语音受网络影响,可能有延迟情况。

    离线地图

    在【全部】中,单击城市列表中的离线包下载离线包存储目录:

    存储空间/Android/data/me.gfuil.bmap/files/;

    若出现无法下载情况,可能是下载过程中出错了,需要删掉再下载。再下载过程中请不要退出app,且保证不被管家类应用杀死。

    在【已下载基础包】中可查看已下载的基础地图离线包,点击可删除;

    在【已下载高德包】中可查看已下载的高德地图离线包,点击可删除。即使下载了离线地图在无网络状态下也不能搜索地点、出行路线或导航,只支持地图的显示。

    三方APP调用地图说明

    一些APP可直接被调起,微信QQ可利用其街景,再从菜单里选择“使用浏览器打开”,选择Bmap即可,或是在工具箱中下在伪装百度或高德地图的插件,当然不建议这么做。

    调起Bmap协议

    通过geo-uri方式,坐标为国测局坐标系(GCJ02)

    geo:latitude,longitude?q=place_name

    调用示例:

    Uri uri = Uri.parse("geo:39.903740,116.397827?q=天安门广场");

    Intent intent = new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);

    下载方式

    1.在酷安市场直接搜索安装;

    2.点击“阅读原文”进入官网下载安装。

    e2411c24-4c11-eb11-8da9-e4434bdf6706.gif

    展开全文
  • APP端跳转至百度地图(第三方软件);若无,则跳转至高德地图(第三方软件);若均无,则打开腾讯地图(uni自带方法:uni.openLocation) 其它端打开腾讯地图(uni自带方法:uni.openLocation) demo 源码:...
  • 调用百度地图api实现标记城市

    千次阅读 2014-08-04 11:21:29
    正在做的项目用到了地图标记城市的功能,用了百度地图的sdk来实现,写篇博客把实现过程记录下。 下载sdk,工程配置,申请秘钥等基础步骤,开发人员可根据百度提供的开发指南一步一步操作,见此链接:
  • 下载软件 APP操作指南 注册APP的账号和密码 申请密钥:【天地图网址】(这个貌似需要电脑端操作) 注册>>地图API>>申请key>>创建新应用(选择浏览器端) 选择地图:天地图影像混合 ...
  • 四款手机地图软件横向测评!从爱斯基摩人绘制的海港图到今天的卫星地图,从哥伦布勇闯新大陆的粗糙航海图到今天人们出门精确到米的手机地图,几千年来地图伴随着人类文明进步发生了天翻地覆的变化。▲ 航海图 二十年...
  • Hbuilder开发app引入地图

    千次阅读 2019-04-25 21:28:08
    由于开发需要使用到地图进行定位,所以在网上找了许多的资料,一开始,...里面关于Hbuilder开发App的各种详细介绍,例如:调用手机摄像头、获取手机的通讯录等等。 里面其中的一个是关于Maps的,如何引入手机的内置...
  • 估计每个爱好编程的都想某天可以开发出一个专属于自己的软件or应用,在下也是。然而由于当初入门编程的时候偷懒特地避开了那些以开发为目的源代码级的语言(比如说java,C和C++)而选择了R,我离这个目标估计是越走...
  • 随着呼叫中心新技术、新模式的发展,北京国炫通信推出专业智能电话销售营销外呼系统,手机自动拨号APP管理软件,手机与PC端呼叫中心系统形成数据交互,实现销售数据储存和客户信息及时推送,同时支持手机签到、查看...
  • 百度地图包名 public static final String BAIDUMAP_PACKAGENAME = "com.baidu.BaiduMap"; //2.高德地图包名 public static final String AUTONAVI_PACKAGENAME = "com.autonavi.minimap"; ...
  • 新开的店铺商铺商家商户企业工厂怎么标注地图位置?如何地图上标注店面_怎么将店铺标记地图_新开的店铺要怎样上地图...地图标注APP软件平台百度地图、高-德地图、腾-讯地图、微信地图、苹果地图、搜狗地图、360地...
  • 地图视图和航点应用程序 在本教程中,您将学习如何实现 DJIWaypoint Mission 功能并熟悉MissionControl的用法。此外,您还将了解如何使用DJI Assistant 2 Simulator测试Waypoint Mission API。让我们开始吧! 您可以...
  • 我们今天以高德地图的数据为例来简单的了解一下,在APP中如何调用和使用API。了解它内部的原理和注意事项。首先我们应该找到一个API的开放网站,以高德地图为例,我们找到高德地图的官网。 注册成为开发者。成为...
  • 这个DEMO是用来将多个地点标记地图上,然后点击节点弹出PopupWindow 下面是一些截图: main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • 要求: 使用百度地图SDK实现疫情地图
  • import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import ...
  • Android移动开发教学app案例之校园地图(一)项目介绍 项目介绍
  • 现在很多应用中,会用到轨迹功能,但轨迹何如移动的平滑、漂亮? 高德将“轨迹平滑移动”作为一个开发小技巧开放出
  • mui开发app调用baidu地图实现精准定位

    千次阅读 2018-08-02 23:25:29
    // 使用百度地图地位模块获取位置信息 //map.centerAndZoom( new plus.maps.Point(point.coords.longitude,point.coords.latitude), 16 ); plus.geolocation.getCurrentPosition(function(p){ //addr_code(); ...
  • 昊哥走天下 这是一款基于位置信息服务(LBS)的Web社交应用, 集...修复定位标记叠加bug 修复定位到当前时放缩级别跳跃bug 服务器部署 # 安装libcap依赖以允许普通用户使用1024以下的端口 (Ubuntu) sudo apt-get install l
  • 我们明天就拿高德地图来说说看怎样用它看车速,起首你须要打开软件进入导航主界面,按到驾车形式输入你想要去跟要达到的处所,然后导航,你就能发明左上角有对于测速的标记并且当你不警惕超速的时间导航语音还会...
  • 用Opencv标记地图中的圆形区域、分离区域 实验环境 Visual Studio Code、Python(我们这里使用版本3.8.0)、Opencv(我们这里使用版本3.4.8.29) 实验步骤 一、安装Python 1.在官网https://www.python.org/下载...
  • iPhone上最好的导航地图软件盖亚Gaia GPS 支持iPhone和iPad!盖亚全球定位系统把您的iPhone手机变成全功能的全球定位系统手持设备。盖亚全球定位系统支持远足,骑自行车,滑雪板,滑雪,驾驶,跑步,航海等户外活动...
  • 并赋予每个矩阵单元一个tag,在移动到边界时将会回收再利用,tag也会根据移动时的情况更改值,你可以在tag被更新时加载内存或者外存的数据,刷新到Unit中,形成地图加载器或者Excel类软件,而且不会像之前用...
  • 对于经常需要进山出差开展...目前,奥维互动地图地图由于缺少图源问题导致很多功能都无法使用,至于能不能恢复使用暂不得知,在这期间发现了一款比奥维强大的地图软件—外业精灵app,各大应用市场都能下载 一番摸索之
  • 在很多商用机器人中都涉及到机器人与外部设备(比如APP)之间的交互。而在交互中,最为首要的就是地图与机器人位置的交互了。在这一个章节中,我们介绍一个机器人将内部的地图,机器人位置等数据与用户端进行同步的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,912
精华内容 1,964
关键字:

地图标记软件app