您需要登录后才可以操作登录 | 立即注册
关闭
楼主
h_note
  • TA的每日心情
    开心
    2016-7-1 09:06
  • 签到天数: 132 天

    连续签到: 1 天

    [LV.7]常住居民III

    最新升级之后百度地图的使用 [复制链接]

    2007 7 发表于 2015-12-15 10:40:26

    这是我以前写的两个帖子:uexBaiduMap3.0使用经验http://bbs.appcan.cn/forum.php?m ... &fromuid=112639

    uexButton使用
    http://bbs.appcan.cn/forum.php?m ... &fromuid=112639
    (出处: AppCan交流社区)


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

    先来两张图吧:
    Screenshot_2015-12-15-10-37-04.png Screenshot_2015-12-15-10-37-26.png Screenshot_2015-12-15-10-37-50.png
    但是我要说的是,升级之后出了点小问题。。。

    1、Android升级之后,去掉了原来的ActivityGroup。因此老板地图是用不了的,最新的3.2.29版本才是能正常使用的;
    2、iOS升级之后,新版的地图我没试,因为旧的能用(并不是太懒,挺忙的)。

    在此基础上,配合配合使用uexButton的时候要做出一点调整:
    1、Android不能直接打开地图后,接着打开uexButton。因为新版的一套东西uexButton的打开速度总会比uexBaiduMap要快,地图会遮挡住按钮;因此需要把打开uexButton的方法写在地图的cbOpen回调中;
    2、iOS我用的3.1.12版的地图并不会执行cbOpen这个东西 ,使用的时候需要判断是安卓还是iOS手机;
    3、uexBaiduMap.zoomControlsEnabled(0);这个方法有点坑。需要在打开地图之后使用,这东西只有Android有,重要的事情说三遍只有Android有只有Android有只有Android有
    4、在说说uexButton这个插件Android版本。传入的数值是px,然而插件内部并没有进行px和dp的转换。。。所以传参的时候一定要根据屏幕的大小提前做好处理,具体算法可以参考我下面的代码,以屏幕宽度为基准进行简单的计算。


    代码参考如下:
    1. uexBaiduMap.open(0, 0, w, h, slon, slat);

    2.             if (isAndroid == 0) {
    3.                 //关闭指南针
    4.                 uexBaiduMap.setCompassEnable(0);
    5.                 searchRoutePlan(slon, slat, dlon, dlat);
    6.                 //获取当前位置信息
    7.                 uexBaiduMap.getCurrentLocation();

    8.                 //创建按钮
    9.                 openButton();
    10.             } else {
    11.                 uexBaiduMap.cbOpen = function openMapCb() {
    12.                     //关闭放大缩小按钮
    13.                     uexBaiduMap.zoomControlsEnabled(0);
    14.                     //关闭指南针
    15.                     uexBaiduMap.setCompassEnable(0);
    16.                     searchRoutePlan(slon, slat, dlon, dlat);
    17.                     //获取当前位置信息
    18.                     uexBaiduMap.getCurrentLocation();

    19.                     //创建按钮
    20.                     openButton();
    21.                 }
    22.             }

    23. function openButton() {
    24.             //创建4个按钮
    25.             var satellite_btn = 1001;
    26.             var traffic_btn = 1002;
    27.             var myposition_btn = 1003;
    28.             var back_btn = 1004;

    29.             var pixel_width = getLocVal('pixel_width');
    30.             var pixel_height = getLocVal('pixel_height');

    31.             var magright_size = int(pixel_width / 24);
    32.             var magleft_size = int(pixel_width / 24);
    33.             var magtop_size = int(pixel_width / 24);
    34.             var magbottom_size = int(pixel_width / 6);

    35.             //卫星、交通和我的位子按钮宽度高度。由于插件内部没有做px和dp转化,所以必须通过比例换算传进去
    36.             var btn_width = int(pixel_width / 8);
    37.             var btn_height = int(pixel_width / 8);
    38.             //返回按钮宽高
    39.             var size = int(pixel_width / 11);

    40.             //卫星按钮横坐标,屏幕宽度-按钮宽度-与屏幕右端距离
    41.             var x1 = pixel_width - btn_width - magright_size;

    42.             //卫星按钮与屏幕顶端的距离
    43.             var y1 = int(pixel_width / 4);
    44.             //路况按钮与顶部的距离:卫星的距离+按钮间距+按钮高度
    45.             var y2 = y1 + btn_height + magtop_size;
    46.             //我的位置按钮距离;地图高度-按钮高度-按钮地图与地图地图的距离
    47.             var y3 = h - btn_height - magbottom_size;
    48.             //返回按钮与顶部和左边的距离
    49.             var y4 = int(pixel_width / 23);

    50.             var jsonData1 = '{"title":" ","titleColor":"#111111","bgImage":"res://station/weixin_img.png","textSize":"0"}';
    51.             var jsonData2 = '{"title":" ","titleColor":"#111111","bgImage":"res://station/lukuang_img.png","textSize":"0"}';
    52.             var jsonData3 = '{"title":" ","titleColor":"#111111","bgImage":"res://station/my_img.png","textSize":"0"}';
    53.             var jsonData4 = '{"title":" ","titleColor":"#111111","bgImage":"res://station/back.png","textSize":"0"}';

    54.             uexButton.open(satellite_btn, x1, y1, btn_width, btn_height, jsonData1);
    55.             uexButton.open(traffic_btn, x1, y2, btn_width, btn_height, jsonData2);
    56.             uexButton.open(myposition_btn, y4, y3, btn_width, btn_height, jsonData3);
    57.             uexButton.open(back_btn, y4, y4, size, size, jsonData4);
    58.         }
    复制代码





    板凳
    AppCan运营
  • TA的每日心情
    开心
    2018-6-6 14:54
  • 签到天数: 128 天

    连续签到: 1 天

    [LV.7]常住居民III

    显示全部楼层 发表于 2015-12-15 17:27:20
    福利啊,感谢 h_note 版主分享的方法和源码~
    地板
    h_note
  • TA的每日心情
    开心
    2016-7-1 09:06
  • 签到天数: 132 天

    连续签到: 1 天

    [LV.7]常住居民III

    显示全部楼层 发表于 2015-12-15 17:31:26
    AppCan运营 发表于 2015-12-15 17:27
    福利啊,感谢 h_note 版主分享的方法和源码~

    感谢我的注释就行了,上次任务太急,写的代码都没加注释。这次都没人改了,全给我了,赶紧加上注释,下次我就不改了
    5#
    h_note
  • TA的每日心情
    开心
    2016-7-1 09:06
  • 签到天数: 132 天

    连续签到: 1 天

    [LV.7]常住居民III

    显示全部楼层 发表于 2015-12-15 17:32:11

    头像是鸭么
    6#
    AppCan运营
  • TA的每日心情
    开心
    2018-6-6 14:54
  • 签到天数: 128 天

    连续签到: 1 天

    [LV.7]常住居民III

    显示全部楼层 发表于 2015-12-16 13:22:55
    h_note 发表于 2015-12-15 17:31
    感谢我的注释就行了,上次任务太急,写的代码都没加注释。这次都没人改了,全给我了,赶紧加上注释, ...

    注释相当全了
    7#
    AppCan_小助
  • TA的每日心情
    开心
    2018-12-5 13:27
  • 签到天数: 67 天

    连续签到: 1 天

    [LV.6]常住居民II

    显示全部楼层 发表于 2015-12-26 11:59:16
    感谢 h_note 的分享,快来参加插件分享奖励活动吧~http://bbs.appcan.cn/forum.php?mod=viewthread&tid=30705
    8#
    everycan

    该用户从未签到

    显示全部楼层 发表于 2018-4-13 08:46:07
    请教一下 你的截图里:地图下方的标题区域是怎么搞的“十堰市.....”那一块
    还有一些帖子被系统自动隐藏,点此展开
    主题:
    级别:游客
    发帖:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表